Premium

Datenbanken erstellen und löschen

Beim Schreiben von SQL-Queries arbeiten wir ständig mit Tabellen. Diese Tabellen liegen wiederum in konkreten Datenbanken – und um genau diese geht es in diesem Artikel.

Datenbank erstellen

Eine Datenbank legst du mit folgender Syntax an:

MySQL 8.1
CREATE DATABASE datenbank_name;

Im Namen einer Datenbank verwendet man üblicherweise Buchstaben, Ziffern sowie die Zeichen „_" und „$". Die maximale Länge beträgt 64 Zeichen.

Ob die Datenbank wirklich angelegt wurde, prüfst du mit SHOW DATABASES.

MySQL 8.1
SHOW DATABASES;
Database
user_table_1
user_table_2
information_schema
mysql
performance_schema
sys

Wird der Datenbankname ohne doppelte Anführungszeichen geschrieben, muss er mit einem Buchstaben oder dem Zeichen „_" beginnen. Danach sind Buchstaben, Ziffern sowie die Zeichen „_" und „$" erlaubt. Die maximale Länge beträgt 63 Zeichen.

Ob die Datenbank wirklich angelegt wurde, prüfst du mit dieser SQL-Query:

MySQL 8.1
SELECT datname FROM pg_database WHERE datistemplate = false;
datname
user_database_1
user_database_2
postgres

Datenbank löschen

Eine Datenbank löschst du mit DROP DATABASE:

MySQL 8.1
DROP DATABASE datenbank_name;

IF EXISTS und IF NOT EXISTS

Beim Erstellen oder Löschen einer Datenbank kann ein Fehler auftreten: zum Beispiel, wenn eine Datenbank mit diesem Namen schon existiert oder umgekehrt noch nicht angelegt wurde. Für solche Fälle gibt es die Konstrukte IF EXISTS und IF NOT EXISTS.

Wenn wir eine Datenbank also nur erstellen wollen, falls sie noch nicht existiert, sieht das so aus:

MySQL 8.1
CREATE DATABASE IF NOT EXISTS datenbank_name;

Wenn wir eine Datenbank nur löschen wollen, falls sie existiert, sieht das so aus:

MySQL 8.1
DROP DATABASE IF EXISTS datenbank_name;

IF EXISTS

Beim Löschen einer Datenbank kann ein Fehler auftreten, falls diese gar nicht existiert. In diesem Fall hilft das IF EXISTS-Konstrukt.

Zum Löschen einer Datenbank kannst du IF EXISTS verwenden:

MySQL 8.1
DROP DATABASE IF EXISTS datenbank_name;