PostgreSQL DELETE: Tabelleninhalte einfach und sicher löschen
Mit PostgreSQL DELETE entfernst du Inhalte effizient aus deinen Tabellen. Durch gezielte Bedingungen definierst du exakt, welche Zeilen gelöscht werden sollen. Da dieser Vorgang endgültig ist, solltest du den Befehl stets mit Bedacht einsetzen.
Was ist PostgreSQL DELETE?
Der Befehl DELETE dient in PostgreSQL dazu, Datensätze aus einer Tabelle zu entfernen. Über die WHERE-Bedingung selektierst du präzise jene Zeilen, die gelöscht werden sollen. Verwendest du das Kommando ohne die WHERE-Klausel, werden sämtliche Daten der Tabelle unwiderruflich gelöscht. Gehe daher bei der Nutzung äußerst vorsichtig vor.
PostgreSQL DELETE: Aufbau und Logik
Die Struktur von PostgreSQL DELETE folgt diesem Grundschema:
DELETE FROM name_der_tabelle
WHERE [Bedingung];postgresqlDas Keyword DELETE FROM startet den Löschvorgang in der gewählten Tabelle. Mit WHERE grenzt du ein, welche Zeilen betroffen sind. Um mehrere Kriterien zu kombinieren, nutzt du einfach AND oder OR.
Bevor du Daten entfernst, stelle sicher, dass ein aktuelles Backup deiner Datenbank bereitsteht oder führe die Löschung innerhalb einer Transaktion aus. So bewahrst du deine wichtigen Daten vor versehentlichem Verlust durch fehlerhafte Befehle.
Gesamten Tabelleninhalt leeren
Wie DELETE in PostgreSQL arbeitet, zeigt ein kurzes Beispiel. Wir nutzen CREATE TABLE für eine Tabelle „Kundenliste“ und befüllen sie via INSERT INTO. Mit den Spalten „ID“, „Name“ und „Ort“ sieht unser Startpunkt mit vier Einträgen so aus:
|ID|Name|Ort|
|-|-|-|
|1|Schulz|Berlin|
|2|Meyer|Hamburg|
|3|Schmidt|Dortmund|
|4|Schulz|Stuttgart|postgresqlSoll die Tabellenstruktur bleiben, aber jeder Inhalt gelöscht werden, setzen wir PostgreSQL DELETE ohne Filter ein. Der Code sieht dann folgendermaßen aus:
DELETE FROM Kundenliste;postgresqlEinzelne Zeilen mit PostgreSQL DELETE löschen
Meistens wirst du jedoch nur spezifische Datensätze entfernen wollen. Das erledigst du ebenfalls mit PostgreSQL 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;postgresql