Mit Post­greS­QL DELETE entfernst du Inhalte effizient aus deinen Tabellen. Durch gezielte Be­din­gun­gen de­fi­nierst du exakt, welche Zeilen gelöscht werden sollen. Da dieser Vorgang endgültig ist, solltest du den Befehl stets mit Bedacht einsetzen.

Was ist Post­greS­QL DELETE?

Der Befehl DELETE dient in Post­greS­QL dazu, Da­ten­sät­ze aus einer Tabelle zu entfernen. Über die WHERE-Bedingung se­lek­tierst du präzise jene Zeilen, die gelöscht werden sollen. Ver­wen­dest du das Kommando ohne die WHERE-Klausel, werden sämtliche Daten der Tabelle un­wi­der­ruf­lich gelöscht. Gehe daher bei der Nutzung äußerst vor­sich­tig vor.

Post­greS­QL DELETE: Aufbau und Logik

Die Struktur von Post­greS­QL DELETE folgt diesem Grund­sche­ma:

DELETE FROM name_der_tabelle
WHERE [Bedingung];
post­gres­ql

Das Keyword DELETE FROM startet den Lösch­vor­gang in der gewählten Tabelle. Mit WHERE grenzt du ein, welche Zeilen betroffen sind. Um mehrere Kriterien zu kom­bi­nie­ren, nutzt du einfach AND oder OR.

Hinweis

Bevor du Daten entfernst, stelle sicher, dass ein aktuelles Backup deiner Datenbank be­reit­steht oder führe die Löschung innerhalb einer Trans­ak­ti­on aus. So bewahrst du deine wichtigen Daten vor ver­se­hent­li­chem Verlust durch feh­ler­haf­te Befehle.

Gesamten Ta­bel­len­in­halt leeren

Wie DELETE in Post­greS­QL arbeitet, zeigt ein kurzes Beispiel. Wir nutzen CREATE TABLE für eine Tabelle „Kun­den­lis­te“ und befüllen sie via INSERT INTO. Mit den Spalten „ID“, „Name“ und „Ort“ sieht unser Start­punkt mit vier Einträgen so aus:

|ID|Name|Ort|
|-|-|-|
|1|Schulz|Berlin|
|2|Meyer|Hamburg|
|3|Schmidt|Dortmund|
|4|Schulz|Stuttgart|
post­gres­ql

Soll die Ta­bel­len­struk­tur bleiben, aber jeder Inhalt gelöscht werden, setzen wir Post­greS­QL DELETE ohne Filter ein. Der Code sieht dann fol­gen­der­ma­ßen aus:

DELETE FROM Kundenliste;
post­gres­ql

Einzelne Zeilen mit Post­greS­QL DELETE löschen

Meistens wirst du jedoch nur spe­zi­fi­sche Da­ten­sät­ze entfernen wollen. Das erledigst du ebenfalls mit Post­greS­QL DELETE, ergänzt um eine WHERE-Klausel. Um etwa den Kunden „Meyer“ (ID 2) zu löschen, nutzt du diesen Befehl:

DELETE FROM Kundenliste
WHERE ID = 2;
post­gres­ql
Zum Hauptmenü