Hur man använder PostgreSQL DELETE
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];
postgresqlKommandot 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
.
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|
postgresqlOm 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;
postgresqlHur 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;
postgresqlSå 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;
postgresqlDetta 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.