Hoe gebruik je de DELETE-opdracht in PostgreSQL
Met PostgreSQL DELETE kunt u gegevens uit een tabel verwijderen. Het commando kan worden verfijnd met behulp van voorwaarden, waardoor u kunt aangeven welke specifieke rijen moeten worden verwijderd. Aangezien het verwijderen van gegevens in PostgreSQL onomkeerbaar is, is het belangrijk om het commando zorgvuldig te gebruiken.
Wat is PostgreSQL DELETE?
Het commando DELETE in PostgreSQL wordt gebruikt om rijen uit een tabel te verwijderen. Met behulp van de WHERE kunt u bepaalde rijen selecteren om te verwijderen. Zonder de WHERE worden alle gegevens in de opgegeven tabel definitief verwijderd. Aangezien gegevens definitief worden verwijderd, dient u voorzichtig te 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];postgresqlMet het DELETE FROM start u het verwijderen van rijen in de door u opgegeven tabel. Met de WHERE kunt u specifieke rijen aangeven waarvan de gegevens moeten worden verwijderd. Om meerdere voorwaarden toe te passen, 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 het commando niet correct wordt uitgevoerd.
Hoe gegevens uit een tabel verwijderen
Om een beter beeld te krijgen van hoe DELETE in PostgreSQL werkt, bekijken we een praktisch voorbeeld. Eerst maken we met het commando CREATE TABLE een tabel aan met de naam ‘customer_list’. Vervolgens 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|postgresqlAls je PostgreSQL DELETE zonder voorwaarde gebruikt, worden alle gegevens in de tabel verwijderd. De tabelstructuur zelf wordt echter niet verwijderd. Hieronder zie je hoe het commando eruitziet:
DELETE FROM customer_list;postgresqlHoe verwijder je een rij in PostgreSQL
Vaak moet je een afzonderlijke rij verwijderen. Dit kun je doen door een WHERE toe te voegen. Stel bijvoorbeeld dat we Sullivan (id-nummer 2) uit onze lijst willen verwijderen. Daarvoor kunnen we de volgende code gebruiken:
DELETE FROM customer_list
WHERE id = 2;postgresqlHoe een rij op basis van meerdere voorwaarden te selecteren
Als u met grote tabellen werkt, kunt u te maken krijgen met dubbele vermeldingen. Om ervoor te zorgen dat er slechts één rij wordt verwijderd, kunt u meerdere voorwaarden gebruiken. In de bovenstaande tabel staan 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 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 verwijderingscommando is uitgevoerd.