Datenbank erstellen
Datenbanken enthalten Tabellen, Stored-Procedurs, Funktionen, Trigger, etc. Ein anderer Name für Datenbank ist Schema - wo immer in einem Statement das Schlüsselwort DATABASE bzw. DATABASES vorkommt, kann stattdessen SCHEMA bzw. SCHEMAS eingesetzt werden.
Datenbanken werden erstellt, indem das CREATE DATABASE-Statement verwendet wird. Pflichtangabe ist lediglich der zukünftige Name der Datenbank. Zusätzlich können auch die Optionen COLLATION und CHARACTER SET angegeben werden, die als Default für Tabellen verwendet werden, die in dieser Datenbank erstellt werden.
mysql> CREATE DATABASE `meine_datenbank`; mysql> CREATE DATABASE `meine_datenbank` CHARACTER SET utf8; mysql> CREATE DATABASE `meine_datenbank` CHARACTER SET utf8 COLLATE utf8_danisch_ci;
Existiert bereits eine Datenbank mit dem gewünschten Namen, wird normalerweise ein Error von MySQL erzeugt. Um sicherzugehen, dass eine Datenbank mit dem Namen existiert und statt eines Fehlers nur eine Warnung zu produzieren, kann dem Statement ein IF NOT EXISTS hinzugefügt werden.
mysql> CREATE DATABASE IF NOT EXISTS `meine_datenbank`;
Datenbanken können nicht verschachtelt sein, d.h. in einer Datenbank kann keine weitere Datenbank angelegt werden.
Physisch werden Datenbanken als Verzeichnisse dargestellt. Für jede Datenbank existiert ein Verzeichnis im data directory von MySQL, dessen Name derselbe ist, wie der der Datenbank, die es darstellt - das database directory. Darin enthalten sind alle Objekte, die in dieser Datenbank angelegt wurden, z.B. Tabellen. Zudem gibt es hier eine Datei mit dem Namen db.opt, die das Default-Character-Set und die Default-Collation der Datenbank enthält.

