Med PostgreSQL DELETE kan du ta bort data från en tabell. Kommandot kan förfinas med hjälp av villkor, så att du kan ange borttagning av enskilda rader. Eftersom raderingar är irreversibla i PostgreSQL är det viktigt att använda kommandot noggrant.

Vad är PostgreSQL: s <phtn id = “6” />?

Kommandot DELETE i PostgreSQL används för att radera poster från en tabell. Med hjälp av WHERE -klausulen kan du välja vissa rader som ska raderas. Utan WHERE -klausulen raderas alla data i tabellen du anger permanent. Eftersom data raderas permanent bör du vara försiktig när du använder det här kommandot.

Vad är syntaxen för PostgreSQL: s <phtn id = “10” />?

Den grundläggande syntaxen för PostgreSQL DELETE är som följer:

DELETE FROM table_name
WHERE [condition];
postgresql

Kommandot DELETE FROM initierar radering av rader i tabellen som du anger. Med WHERE -klausulen kan du ange enskilda rader där data ska raderas. Om du vill implementera flera villkor kan du använda AND eller OR.

Notis

Innan du raderar data ska du se till att du har en aktuell säkerhetskopia av databasen. Du kan också utföra delete-operationen inom en transaktion. Detta förhindrar oavsiktlig dataförlust om kommandot utförs felaktigt.

Så här tar du bort data från en tabell

För att få en bättre uppfattning om hur DELETE fungerar i PostgreSQL, låt oss ta en titt på ett praktiskt exempel. Först ska vi använda kommandot SKAPA TABELL för att skapa en tabell med namnet ‘customer_list’. Sedan ska vi fylla i det med INSERT INTO. Tabellen har tre kolumner (id, name och city) och innehåller fyra poster:

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

Om du använder PostgreSQL DELETE utan ett villkor raderas all data i tabellen. Själva tabellstrukturen kommer dock inte att raderas. Så här ser kommandot ut:

DELETE FROM customer_list;
postgresql

Hur man tar bort en rad i PostgreSQL

Ofta måste du ta bort en enskild rad. Du kan göra detta genom att inkludera en WHERE klausul. Låt oss till exempel säga att vi vill ta bort Sullivan (id-nummer 2) från vår lista. Vi kan använda följande kod för att göra det:

DELETE FROM customer_list
WHERE id = 2;
postgresql

Så här anger du en rad med hjälp av flera villkor

Om du arbetar med stora tabeller kan det förekomma dubbla poster. För att säkerställa att endast en rad raderas kan du använda flera villkor. I tabellen ovan har vi två kunder som heter Haines, men vi vill bara ta bort den andra posten. För att göra detta kan vi kombinera två villkor:

DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;
postgresql

Detta kommando raderar alla rader med namnet Haines som har en id som är större än eller lika med 3. Eftersom den första posten som innehåller Haines har en id som är mindre än 3 finns den kvar i databasen efter att raderingskommandot har utförts.

Gå till huvudmeny