Met Post­greSQL DELETE kunt u gegevens uit een tabel ver­wij­de­ren. Het commando kan worden verfijnd met behulp van voor­waar­den, waardoor u kunt aangeven welke spe­ci­fie­ke rijen moeten worden ver­wij­derd. Aangezien het ver­wij­de­ren van gegevens in Post­greSQL on­om­keer­baar is, is het be­lang­rijk om het commando zorg­vul­dig te gebruiken.

Wat is Post­greSQL DELETE?

Het commando DELETE in Post­greSQL wordt gebruikt om rijen uit een tabel te ver­wij­de­ren. Met behulp van de WHERE kunt u bepaalde rijen se­lec­te­ren om te ver­wij­de­ren. Zonder de WHERE worden alle gegevens in de opgegeven tabel de­fi­ni­tief ver­wij­derd. Aangezien gegevens de­fi­ni­tief worden ver­wij­derd, dient u voor­zich­tig te zijn bij het gebruik van dit commando.

Wat is de syntaxis voor Post­greSQL DELETE?

De ba­sis­syn­taxis van Post­greSQL DELETE is als volgt:

DELETE FROM table_name
WHERE [condition];
post­gresql

Met het DELETE FROM start u het ver­wij­de­ren van rijen in de door u opgegeven tabel. Met de WHERE kunt u spe­ci­fie­ke rijen aangeven waarvan de gegevens moeten worden ver­wij­derd. Om meerdere voor­waar­den toe te passen, kunt u AND of OR gebruiken.

Opmerking

Zorg ervoor dat u een actuele back-up van de database hebt voordat u gegevens ver­wij­dert. U kunt de ver­wij­de­rings­be­wer­king ook binnen een trans­ac­tie uitvoeren. Dit helpt onbedoeld ge­ge­vens­ver­lies te voorkomen als het commando niet correct wordt uit­ge­voerd.

Hoe gegevens uit een tabel ver­wij­de­ren

Om een beter beeld te krijgen van hoe DELETE in Post­greSQL werkt, bekijken we een praktisch voorbeeld. Eerst maken we met het commando CREATE TABLE een tabel aan met de naam ‘customer_list’. Ver­vol­gens vullen we deze aan met INSERT INTO. De tabel heeft drie kolommen (id, name en city) en bevat vier records:

|id|name|city|
|-|-|-|
|1|Haines|Sheffield|
|2|Sullivan|Glasgow|
|3|Smith|Newcastle|
|4|Haines|Belfast|
post­gresql

Als je Post­greSQL DELETE zonder voor­waar­de gebruikt, worden alle gegevens in de tabel ver­wij­derd. De ta­bel­struc­tuur zelf wordt echter niet ver­wij­derd. Hieronder zie je hoe het commando eruitziet:

DELETE FROM customer_list;
post­gresql

Hoe verwijder je een rij in Post­greSQL

Vaak moet je een af­zon­der­lij­ke rij ver­wij­de­ren. Dit kun je doen door een WHERE toe te voegen. Stel bij­voor­beeld dat we Sullivan (id-nummer 2) uit onze lijst willen ver­wij­de­ren. Daarvoor kunnen we de volgende code gebruiken:

DELETE FROM customer_list
WHERE id = 2;
post­gresql

Hoe een rij op basis van meerdere voor­waar­den te se­lec­te­ren

Als u met grote tabellen werkt, kunt u te maken krijgen met dubbele ver­mel­din­gen. Om ervoor te zorgen dat er slechts één rij wordt ver­wij­derd, kunt u meerdere voor­waar­den gebruiken. In de bo­ven­staan­de tabel staan twee klanten met de naam Haines, maar we willen alleen de tweede ver­mel­ding ver­wij­de­ren. Hiervoor kunnen we twee voor­waar­den com­bi­ne­ren:

DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;
post­gresql

Dit commando ver­wij­dert alle rijen met de naam Haines waarvan het veld id groter is dan of gelijk is aan 3. Aangezien de eerste rij met de naam Haines een waarde id heeft die kleiner is dan 3, blijft deze in de database staan nadat het ver­wij­de­rings­com­man­do is uit­ge­voerd.

Ga naar hoofdmenu