Hoe PostgreSQL DELETE te gebruiken
Met PostgreSQL DELETE kunt u gegevens uit een tabel verwijderen. Het commando kan worden verfijnd met behulp van voorwaarden, waardoor u kunt specificeren dat individuele rijen moeten worden verwijderd. Aangezien verwijderingen in PostgreSQL onomkeerbaar zijn, is het belangrijk om het commando zorgvuldig te gebruiken.
Wat is PostgreSQL DELETE?
Het commando DELETE in PostgreSQL wordt gebruikt om items uit een tabel te verwijderen. Met behulp van de clausule WHERE kunt u bepaalde rijen selecteren om te verwijderen. Zonder de clausule WHERE worden alle gegevens in de door u opgegeven tabel definitief verwijderd. Omdat gegevens definitief worden verwijderd, moet u voorzichtig zijn bij het gebruik van dit commando.
Wat is de syntaxis voor PostgreSQL DELETE?
De basissyntaxis van PostgreSQL DELETE is als volgt:
DELETE FROM table_name
WHERE [condition];postgresqlHet commando DELETE FROM start het verwijderen van rijen in de tabel die u opgeeft. Met de clausule WHERE kunt u afzonderlijke rijen opgeven waar gegevens moeten worden verwijderd. Om meerdere voorwaarden te implementeren, kunt u AND of OR gebruiken.
Zorg ervoor dat u een actuele back-up van de database hebt voordat u gegevens verwijdert. U kunt de verwijderingsbewerking ook binnen een transactie uitvoeren. Dit helpt onbedoeld gegevensverlies te voorkomen als de opdracht onjuist wordt uitgevoerd.
Hoe gegevens uit een tabel verwijderen
Om een beter beeld te krijgen van hoe DELETE werkt in PostgreSQL, bekijken we een praktisch voorbeeld. Eerst maken we met het commando CREATE TABLE een tabel met de naam ‘customer_list’. Vervolgens vullen we deze met INSERT INTO. De tabel heeft drie kolommen (id, name en city) en bevat vier vermeldingen:
|id|name|city|
|-|-|-|
|1|Haines|Sheffield|
|2|Sullivan|Glasgow|
|3|Smith|Newcastle|
|4|Haines|Belfast|postgresqlAls u PostgreSQL DELETE zonder voorwaarde gebruikt, worden alle gegevens in de tabel verwijderd. De tabelstructuur zelf wordt echter niet verwijderd. Dit is hoe de opdracht eruitziet:
DELETE FROM customer_list;postgresqlHoe een rij verwijderen in PostgreSQL
Vaak moet u een afzonderlijke rij verwijderen. Dit kunt u doen door een WHERE clausule toe te voegen. Stel dat we Sullivan (id-nummer 2) uit onze lijst willen verwijderen. Hiervoor kunnen we de volgende code gebruiken:
DELETE FROM customer_list
WHERE id = 2;postgresqlHoe een rij specificeren met behulp van meerdere voorwaarden
Als u met grote tabellen werkt, kunt u dubbele vermeldingen hebben. Om ervoor te zorgen dat slechts één rij wordt verwijderd, kunt u meerdere voorwaarden gebruiken. In de bovenstaande tabel hebben we twee klanten met de naam Haines, maar we willen alleen de tweede vermelding verwijderen. Hiervoor kunnen we twee voorwaarden combineren:
DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;postgresqlDit commando verwijdert alle rijen met de naam Haines die een id hebben die groter is dan of gelijk is aan 3. Aangezien de eerste vermelding met Haines een id heeft die kleiner is dan 3, blijft deze in de database staan nadat het verwijdercommando is uitgevoerd.