Samenvatting: in deze tutorial leert u hoe u het PostgreSQL DELETE statement kunt gebruiken om gegevens uit een tabel te verwijderen.
Inleiding tot PostgreSQL DELETE statement
Het PostgreSQL DELETE statement staat u toe om een of meer rijen uit een tabel te verwijderen.
Het volgende toont de basis syntaxis van het DELETE statement:
Code language: SQL (Structured Query Language) (sql)DELETE FROM table_nameWHERE condition;
In deze syntaxis:
- Eerst specificeert u de naam van de tabel waaruit u gegevens wilt verwijderen na de
DELETE FROMtrefwoorden. - Tweede, gebruik een voorwaarde in de
WHEREclausule om aan te geven welke rijen uit de tabel moeten worden verwijderd.
De WHERE clausule is optioneel. Als u de WHERE-clausule weglaat, verwijdert het DELETE-instructie alle rijen in de tabel.
Het DELETE-instructie geeft het aantal verwijderde rijen terug. Het retourneert nul als de DELETE verklaring geen enkele rij heeft verwijderd.
Om de verwijderde rij(en) aan de client terug te geven, gebruikt u de RETURNING-clausule als volgt:
Code language: SQL (Structured Query Language) (sql)DELETE FROM table_nameWHERE conditionRETURNING (select_list | *)
Met het sterretje (*) kunt u alle kolommen van de verwijderde rij uit de table_name retourneren.
Om specifieke kolommen te retourneren, specificeert u deze na het RETURNING sleutelwoord.
Merk op dat het DELETE statement alleen gegevens uit een tabel verwijdert. Het wijzigt de structuur van de tabel niet. Als u de structuur van een tabel wilt wijzigen, zoals het verwijderen van een kolom, moet u het ALTER TABLE statement gebruiken.
PostgreSQL DELETE statement voorbeelden
Laten we een voorbeeld tabel opzetten voor de demonstratie.
De volgende statements maken een nieuwe tabel aan genaamd links en voegen wat voorbeeld data in:
Code language: SQL (Structured Query Language) (sql)DROP TABLE IF EXISTS links;CREATE TABLE links ( id serial PRIMARY KEY, url varchar(255) NOT NULL, name varchar(255) NOT NULL, description varchar(255), rel varchar(10), last_update date DEFAULT now());INSERT INTO links VALUES ('1', 'https://www.postgresqltutorial.com', 'PostgreSQL Tutorial', 'Learn PostgreSQL fast and easy', 'follow', '2013-06-02'), ('2', 'http://www.oreilly.com', 'O''Reilly Media', 'O''Reilly Media', 'nofollow', '2013-06-02'), ('3', 'http://www.google.com', 'Google', 'Google', 'nofollow', '2013-06-02'), ('4', 'http://www.yahoo.com', 'Yahoo', 'Yahoo', 'nofollow', '2013-06-02'), ('5', 'http://www.bing.com', 'Bing', 'Bing', 'nofollow', '2013-06-02'), ('6', 'http://www.facebook.com', 'Facebook', 'Facebook', 'nofollow', '2013-06-01'), ('7', 'https://www.tumblr.com/', 'Tumblr', 'Tumblr', 'nofollow', '2013-06-02'), ('8', 'http://www.postgresql.org', 'PostgreSQL', 'PostgreSQL', 'nofollow', '2013-06-02');
Hier volgt de inhoud van de links tabel:
Code language: SQL (Structured Query Language) (sql)SELECT * FROM links;

1) PostgreSQL DELETE gebruiken om één rij te verwijderen één rij uit de tabel
Het volgende statement gebruikt het DELETE statement om één rij met id 8 te verwijderen uit de links tabel:
Code language: SQL (Structured Query Language) (sql)DELETE FROM linksWHERE id = 8;
Het statement geeft 1 terug, wat aangeeft dat één rij is verwijderd:
Code language: Shell Session (shell)DELETE 1
Het volgende statement gebruikt het DELETE statement om de rij met id 10 te verwijderen:
Code language: SQL (Structured Query Language) (sql)DELETE FROM linksWHERE id = 10;
Omdat de rij met id 10 niet bestaat, geeft het statement 0 terug:
Code language: Shell Session (shell)
2) PostgreSQL DELETE gebruiken om een rij te verwijderen en de verwijderde rij te retourneren
Het volgende statement verwijdert de rij met id 7 en retourneert de verwijderde rij aan de client:
Code language: SQL (Structured Query Language) (sql)DELETE FROM linksWHERE id = 7RETURNING *;
PostgreSQL retourneert de volgende verwijderde rij:

3) PostgreSQL DELETE gebruiken om meerdere rijen uit de tabel te verwijderen
ostgreSQL DELETE gebruiken om meerdere rijen uit de tabel te verwijdereniv de tabel
Het volgende statement verwijdert twee rijen uit de links tabel en geeft de waarden terug in de id kolom van verwijderde rijen:
Code language: SQL (Structured Query Language) (sql)DELETE FROM linksWHERE id IN (6,5)RETURNING *;
Uitvoer:
4) PostgreSQL DELETE gebruiken om alle rijen uit de tabel te verwijderen
Het volgende statement gebruikt het DELETE statement zonder een WHERE clausule om alle rijen uit de links tabel te verwijderen:
Code language: SQL (Structured Query Language) (sql)DELETE FROM links;
De links tabel is nu leeg.
Samenvatting
- Gebruik het
DELETE FROMstatement om een of meer rijen uit een tabel te verwijderen. - Gebruik de
WHEREclausule om aan te geven welke rijen verwijderd moeten worden. - Gebruik de
RETURNING-clausule om de verwijderde rijen te retourneren.
- Was deze handleiding nuttig ?
- Ja/Nee