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 spe­ci­fi­ce­ren dat in­di­vi­du­e­le rijen moeten worden ver­wij­derd. Aangezien ver­wij­de­rin­gen in Post­greSQL on­om­keer­baar zijn, 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 items uit een tabel te ver­wij­de­ren. Met behulp van de clausule WHERE kunt u bepaalde rijen se­lec­te­ren om te ver­wij­de­ren. Zonder de clausule WHERE worden alle gegevens in de door u opgegeven tabel de­fi­ni­tief ver­wij­derd. Omdat gegevens de­fi­ni­tief worden ver­wij­derd, moet u voor­zich­tig 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

Het commando DELETE FROM start het ver­wij­de­ren van rijen in de tabel die u opgeeft. Met de clausule WHERE kunt u af­zon­der­lij­ke rijen opgeven waar gegevens moeten worden ver­wij­derd. Om meerdere voor­waar­den te im­ple­men­te­ren, 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 de opdracht onjuist wordt uit­ge­voerd.

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

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

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

Als u 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. Dit is hoe de opdracht eruitziet:

DELETE FROM customer_list;
post­gresql

Hoe een rij ver­wij­de­ren in Post­greSQL

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

DELETE FROM customer_list
WHERE id = 2;
post­gresql

Hoe een rij spe­ci­fi­ce­ren met behulp van meerdere voor­waar­den

Als u met grote tabellen werkt, kunt u dubbele ver­mel­din­gen hebben. Om ervoor te zorgen dat slechts één rij wordt ver­wij­derd, kunt u meerdere voor­waar­den gebruiken. In de bo­ven­staan­de tabel hebben we 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 die een id hebben die groter is dan of gelijk is aan 3. Aangezien de eerste ver­mel­ding met Haines een id heeft die kleiner is dan 3, blijft deze in de database staan nadat het ver­wij­der­com­man­do is uit­ge­voerd.

Ga naar hoofdmenu