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 FROM
trefwoorden. - Tweede, gebruik een voorwaarde in de
WHERE
clausule 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 FROM
statement om een of meer rijen uit een tabel te verwijderen. - Gebruik de
WHERE
clausule 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