PostgreSQL Verwijder rijen uit de selectie
โก Slimme samenvatting
PostgreSQL Met DELETE worden een of meer rijen uit een tabel verwijderd. In combinatie met een WHERE-clausule worden alleen de records geselecteerd die aan een bepaalde voorwaarde voldoen, terwijl het weglaten van de WHERE-clausule alle rijen in de tabel verwijdert.

Zoekopdracht verwijderen in PostgreSQL
De VERWIJDER verklaring in PostgreSQL Wordt gebruikt om een โโof meer records uit een tabel te verwijderen. Om alleen geselecteerde rijen uit een tabel te verwijderen, PostgreSQL Hiermee kunt u de DELETE-instructie combineren met de WHERE-clausule; anders worden alle records in de tabel verwijderd.
PostgreSQL Syntaxis voor verwijderingsquery
De DELETE-instructie kan worden gedefinieerd met behulp van de onderstaande syntaxis:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
Kenmerken
De volgende parameters zijn beschikbaar:
- met-queryDe WITH-clausule stelt u in staat om binnen de DELETE-query naar een of meer subquery's te verwijzen op basis van hun naam.
- tafel naam: de naam van de tabel waaruit records moeten worden verwijderd.
- alias: een vervanging voor de naam van de doeltabel.
- using-list: tabeluitdrukkingen waarmee kolommen uit andere tabellen in de WHERE-clausule kunnen worden gebruikt.
- voorwaarden): optioneel. Dit zijn de voorwaarden waaraan moet worden voldaan om records te verwijderen. Als dit gedeelte niet is ingevuld, worden alle records met de opgegeven tabelnaam verwijderd.
- cursornaam: de cursor die gebruikt moet worden in de WHERE CURRENT OF-voorwaarde. De laatst opgehaalde rij door deze cursor wordt verwijderd.
- uitvoer-expressie: de expressie die door de DELETE-instructie moet worden verwerkt en geretourneerd nadat elke rij is verwijderd.
- uitvoernaam: de naam die moet worden gebruikt voor de geretourneerde kolom.
Houd er rekening mee dat, aangezien de DELETE-instructie de hele rij verwijdert, u de kolomnamen niet hoeft op te geven.
PostgreSQL Query met รฉรฉn voorwaarde verwijderen
De DELETE-instructie kan worden gebruikt met รฉรฉn enkele voorwaarde, die wordt ingesteld met behulp van de WHERE-clausule. Neem bijvoorbeeld de tabel 'Price' met de volgende gegevens:
Prijs:
Laten we het record met ID 4 verwijderen:
DELETE FROM Price WHERE id = 4;
Bovenstaande opdracht verwijdert de records met ID 4. Laten we controleren of de verwijdering is gelukt:
De rij met ID 4 is verwijderd.
Query met twee voorwaarden verwijderen
De PostgreSQL De DELETE-instructie kan ook twee voorwaarden bevatten. Deze twee voorwaarden moeten worden samengevoegd met behulp van de AND-operator. We gebruiken hiervoor de volgende tabel:
Prijs:
Beschouw het onderstaande voorbeeld:
DELETE FROM Price WHERE id = 3 AND price = 300;
In het bovenstaande commando verwijderen we de rij met ID 3 en prijs 300. We kunnen de tabel nu opvragen:
SELECT * FROM Price;
Dit geeft het volgende terug:
Het record met een ID van 3 en een prijs van 300 is verwijderd.
PostgreSQL Verwijder query met behulp van de EXISTS-voorwaarde
Met de BESTAAT Je kunt de DELETE-opdracht complexer maken. Soms is het nodig om records in de ene tabel te verwijderen op basis van records in een andere tabel.
Omdat de FROM-clausule het niet mogelijk maakt om records uit meer dan รฉรฉn tabel op te geven bij het verwijderen van een record, is de EXISTS-clausule erg handig. We hebben de volgende twee tabellen:
Boek:
Prijs:
Vervolgens kunnen we de volgende query uitvoeren:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Met dit commando worden rijen uit de tabel 'Boek' verwijderd die een overeenkomend ID in de tabel 'Prijs' hebben met een prijs lager dan 250.
De boekentabel ziet er nu als volgt uit:
Het record met ID 1 is verwijderd.
Hoe verwijder ik een rij in PostgreSQL met behulp van pgAdmin
Dezelfde verwijderingsquery's kunnen ook visueel worden uitgevoerd via de pgAdmin-interface, door de onderstaande stappen te volgen:
Onder รฉรฉn voorwaarde
Stap 1) Log in op uw pgAdmin-account. Open pgAdmin en log in met uw inloggegevens.
Stap 2) Maak een demo-database aan.
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de onderstaande query in de query-editor:
DELETE FROM Price WHERE id = 4;
Stap 4) Klik op de knop Uitvoeren.
Stap 5) Laten we controleren of de rij is verwijderd:
Met twee voorwaarden
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
DELETE FROM Price WHERE id = 3 AND price = 300;
Stap 4) Klik op de knop Uitvoeren.
Stap 5) Laten we controleren of de verwijdering succesvol is:
EXISTS-voorwaarde gebruiken
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Stap 4) Klik op de knop Uitvoeren.
Stap 5) Laten we controleren of de verwijdering succesvol is:
Download de database die in deze zelfstudie wordt gebruikt
















