SQL DROP DATABASE wird verwendet, um eine gesamte Datenbank inklusive aller Tabellen und Einträge endgültig zu löschen. Der SQL-Befehl sollte daher nur ein­ge­setzt werden, wenn die Datenbank tat­säch­lich nicht mehr benötigt wird oder ent­spre­chen­de Backups exis­tie­ren. Es ist auch möglich, mehrere Da­ten­ban­ken gleich­zei­tig zu entfernen.

Was ist SQL DROP DATABASE?

Wenn Sie mit der Struc­tu­red Query Language arbeiten, folgen Ihre ersten Ar­beits­schrit­te immer demselben Prinzip. Zunächst nutzen Sie SQL CREATE DATABASE, um eine neue Datenbank zu erstellen. Danach kreieren Sie mit SQL CREATE TABLE eine oder mehrere neue Tabellen, die Sie dann mit Daten füllen können. Um si­cher­zu­stel­len, dass obsolete Da­ten­ban­ken Ihnen keinen Spei­cher­platz wegnehmen oder viel­leicht sogar sensible Da­ten­sät­ze un­ge­schützt sind, werden Sie von Zeit zu Zeit Da­ten­ban­ken auch voll­stän­dig löschen wollen. Auch zu diesem Zweck stellt die Sprache eine sehr nützliche Anweisung zur Verfügung: SQL DROP DATABASE entfernt die gesamte Datenbank und all ihre Ver­bin­dun­gen.

Wichtig ist, dass Sie im Vorfeld die not­wen­di­gen Vor­keh­run­gen treffen. Wurde eine Datenbank einmal mit diesem Befehl gelöscht, sind auch alle Daten un­wie­der­bring­lich verloren. Stellen Sie daher sicher, dass Sie bei Ihrer Arbeit Backups mit Hilfe des Befehls SQL BACKUP DATABASE erstellen. Außerdem sollten Sie si­cher­ge­hen, dass keine wichtigen Programme oder Prozesse auf die Datenbank an­ge­wie­sen sind. Die Löschung selbst kann in der Regel nur von einem Admin durch­ge­führt werden. Möchten Sie also SQL DROP DATABASE anwenden, benötigen Sie die ent­spre­chen­den Rechte.

vServer / VPS
VPS un­schlag­bar günstig auf Dell En­ter­pri­se Servern
  • 1 Gbit/s, un­be­grenzt Traffic & mehr Cores
  • Min­des­tens 99,99% Ver­füg­bar­keit & ISO-zer­ti­fi­zier­te Re­chen­zen­tren
  • Aus­ge­zeich­ne­ter 24/7 Premium-Support mit per­sön­li­chem Berater

Syntax und Funk­ti­ons­wei­se

Die Syntax von SQL DROP DATABASE sieht aus wie folgt:

DROP DATABASE name_der_datenbank;
sql

Sie brauchen also lediglich den Namen der ent­spre­chen­den Datenbank ein­zu­fü­gen und dann den Code aus­zu­füh­ren. Im Anschluss wird die Datenbank mit allen Tabellen und Einträgen entfernt und ist nicht mehr aufrufbar.

Beispiel für den Lösch­vor­gang

In der Praxis könnte SQL DROP DATABASE zum Beispiel so aussehen wie hier. Stellen wir uns dafür vor, dass wir eine Datenbank namens „Kunden“ haben, deren Einträge al­ler­dings nicht mehr aktuell sind. Da wir bereits eine neue Datenbank mit allen wichtigen Daten angelegt haben, möchten wir nun die gesamte alte Datenbank entfernen und dafür nicht jede einzelne Tabelle löschen. Der ent­spre­chen­de Befehl würde so aussehen:

DROP DATABASE Kunden;
sql

Kom­bi­na­ti­on mit IF EXISTS

Wenn Sie sich nicht sicher sind, ob eine bestimmte Datenbank (noch) existiert, können Sie SQL DROP DATABASE mit dem Befehl IF EXISTS verwenden. Dieser überprüft zunächst, ob es eine Datenbank mit dem ent­spre­chen­den Namen gibt. Ist dies der Fall, wird sie gelöscht. Kann keine solche Datenbank gefunden werden, läuft der Befehl einfach aus. Sie ver­hin­dern so, dass eine Feh­ler­mel­dung aus­ge­spielt wird. Die ent­spre­chen­de Anweisung würde für unser Beispiel von oben so aussehen:

DROP DATABASE IF EXISTS Kunden;
sql

Mehrere Da­ten­ban­ken löschen

Wenn Sie mehrere Da­ten­ban­ken gleich­zei­tig löschen möchten, listen Sie diese einfach mit Kommata auf. SQL DROP DATABASE könnte dann bei­spiel­haft so aussehen:

DROP DATABASE Kunden, Mitarbeiter, Niederlassungen;
sql

In diesem Fall würden Sie die Da­ten­ban­ken Kunden, Mit­ar­bei­ter und Nie­der­las­sun­gen gleich­zei­tig entfernen.

Exis­tie­ren­de Da­ten­ban­ken anzeigen

Wenn Sie über­prü­fen möchten, welche Da­ten­ban­ken sich überhaupt auf Ihrem System befinden, verwenden Sie einfach den Befehl SHOW DATABASE. Dieser listet Ihnen sämtliche Einträge auf. War der Lösch­vor­gang er­folg­reich, werden Sie in dieser Auf­stel­lung die ent­fern­ten Da­ten­ban­ken nicht mehr finden. Der Befehl ist daher eine gute Methode, um zu über­prü­fen, ob SQL DROP DATABASE korrekt durch­ge­führt wurde. Die Syntax ist diese:

SHOW DATABASES;
sql

Ähnliche Befehle wie SQL DROP DATABASE

In vielen Fällen werden Sie al­ler­dings nicht die gesamte Datenbank löschen wollen, sondern nur einzelne Einträge oder Tabellen. Auch dafür stellt Ihnen SQL mehrere Befehle zur Verfügung. Wenn Sie eine komplette Tabelle entfernen möchten, wählen Sie DROP TABLE. Soll die Tabelle bei­be­hal­ten, aber voll­stän­dig geleert werden, ist TRUNCATE TABLE die passende Wahl. Mit der Anweisung SQL DELETE können Sie eine Tabelle ebenfalls voll­stän­dig leeren. Diese erlaubt auch Be­din­gun­gen, sodass bei Bedarf nur einzelne Spalten oder Einträge be­rück­sich­tigt werden.

Tipp

MSSQL, MySQL oder MariaDB? Mit SQL-Server-Hosting von IONOS haben Sie die Wahl und pro­fi­tie­ren von einer starken Per­for­mance, um­fang­rei­chen Si­cher­heits­fea­tures und einer ebenso fach­kun­di­gen wie per­sön­li­chen Beratung.

Zum Hauptmenü