SQL DROP DATABASE: So entfernen Sie eine oder mehrere Datenbanken

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 eingesetzt werden, wenn die Datenbank tatsächlich nicht mehr benötigt wird oder entsprechende Backups existieren. Es ist auch möglich, mehrere Datenbanken gleichzeitig zu entfernen.

Was ist SQL DROP DATABASE?

Wenn Sie mit der Structured Query Language arbeiten, folgen Ihre ersten Arbeitsschritte 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 sicherzustellen, dass obsolete Datenbanken Ihnen keinen Speicherplatz wegnehmen oder vielleicht sogar sensible Datensätze ungeschützt sind, werden Sie von Zeit zu Zeit Datenbanken auch vollständig 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 Verbindungen.

Wichtig ist, dass Sie im Vorfeld die notwendigen Vorkehrungen treffen. Wurde eine Datenbank einmal mit diesem Befehl gelöscht, sind auch alle Daten unwiederbringlich verloren. Stellen Sie daher sicher, dass Sie bei Ihrer Arbeit Backups mit Hilfe des Befehls SQL BACKUP DATABASE erstellen. Außerdem sollten Sie sichergehen, dass keine wichtigen Programme oder Prozesse auf die Datenbank angewiesen sind. Die Löschung selbst kann in der Regel nur von einem Admin durchgeführt werden. Möchten Sie also SQL DROP DATABASE anwenden, benötigen Sie die entsprechenden Rechte.

vServer / VPS
Vollständig virtualisiert mit Root-Zugriff
  • Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
  • Schneller NVMe-SSD-Speicher
  • Kostenlose Plesk Web Host Edition

Syntax und Funktionsweise

Die Syntax von SQL DROP DATABASE sieht aus wie folgt:

DROP DATABASE name_der_datenbank;
sql

Sie brauchen also lediglich den Namen der entsprechenden Datenbank einzufügen und dann den Code auszuführen. Im Anschluss wird die Datenbank mit allen Tabellen und Einträgen entfernt und ist nicht mehr aufrufbar.

Beispiel für den Löschvorgang

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 allerdings 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 entsprechende Befehl würde so aussehen:

DROP DATABASE Kunden;
sql

Kombination 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 entsprechenden Namen gibt. Ist dies der Fall, wird sie gelöscht. Kann keine solche Datenbank gefunden werden, läuft der Befehl einfach aus. Sie verhindern so, dass eine Fehlermeldung ausgespielt wird. Die entsprechende Anweisung würde für unser Beispiel von oben so aussehen:

DROP DATABASE IF EXISTS Kunden;
sql

Mehrere Datenbanken löschen

Wenn Sie mehrere Datenbanken gleichzeitig löschen möchten, listen Sie diese einfach mit Kommata auf. SQL DROP DATABASE könnte dann beispielhaft so aussehen:

DROP DATABASE Kunden, Mitarbeiter, Niederlassungen;
sql

In diesem Fall würden Sie die Datenbanken Kunden, Mitarbeiter und Niederlassungen gleichzeitig entfernen.

Existierende Datenbanken anzeigen

Wenn Sie überprüfen möchten, welche Datenbanken sich überhaupt auf Ihrem System befinden, verwenden Sie einfach den Befehl SHOW DATABASE. Dieser listet Ihnen sämtliche Einträge auf. War der Löschvorgang erfolgreich, werden Sie in dieser Aufstellung die entfernten Datenbanken nicht mehr finden. Der Befehl ist daher eine gute Methode, um zu überprüfen, ob SQL DROP DATABASE korrekt durchgeführt wurde. Die Syntax ist diese:

SHOW DATABASES;
sql

Ähnliche Befehle wie SQL DROP DATABASE

In vielen Fällen werden Sie allerdings 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 beibehalten, aber vollständig geleert werden, ist TRUNCATE TABLE die passende Wahl. Mit der Anweisung SQL DELETE können Sie eine Tabelle ebenfalls vollständig leeren. Diese erlaubt auch Bedingungen, sodass bei Bedarf nur einzelne Spalten oder Einträge berücksichtigt werden.

Tipp

MSSQL, MySQL oder MariaDB? Mit SQL-Server-Hosting von IONOS haben Sie die Wahl und profitieren von einer starken Performance, umfangreichen Sicherheitsfeatures und einer ebenso fachkundigen wie persönlichen Beratung.

War dieser Artikel hilfreich?
Page top