DROP TABLE
Datenbanken & Tabellen
Mit DROP TABLE löschst du eine ganze Tabelle – ihre Struktur und alle Daten. Nach dem Befehl existiert die Tabelle nicht mehr.
Syntax
DROP TABLE tabellenname;
Beispiel
So entfernst du die Tabelle Bestellungen komplett:
DROP TABLE Bestellungen;
Mit einer Zusatzbedingung verhinderst du einen Fehler, falls die Tabelle nicht existiert (MySQL/PostgreSQL):
DROP TABLE IF EXISTS Bestellungen;
DROP TABLE vs TRUNCATE TABLE
Beide löschen Daten – aber mit einem wichtigen Unterschied:
| DROP TABLE | TRUNCATE TABLE | |
|---|---|---|
| Daten | gelöscht | gelöscht |
| Tabellenstruktur | gelöscht | bleibt erhalten |
| Danach nutzbar | nein, Tabelle weg | ja, leere Tabelle |
TRUNCATE leert die Tabelle blitzschnell, lässt aber das „Gerüst“ stehen:
TRUNCATE TABLE Bestellungen;
Willst du nur einzelne Zeilen entfernen, nutzt du dagegen DELETE mit einer WHERE-Bedingung.
Stolperfalle
Hat die Tabelle Kunden eine FOREIGN KEY-Beziehung von Bestellungen, lässt sich Kunden oft nicht direkt löschen, solange noch verweisende Datensätze existieren. Du musst dann erst die abhängige Tabelle behandeln oder die Beziehung lösen. TRUNCATE kann zudem nicht selektiv arbeiten – es leert immer die gesamte Tabelle und lässt sich (anders als DELETE in einer Transaktion) oft nicht zurückrollen.