MySQL :: MySQL 8.0 Reference Manual :: 13.1.12 CREATE DATABASE Statement

13.1.12 CREATE DATABASE Statement

CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}

CREATE DATABASE erstellt eine Datenbank mit dem angegebenen Namen. Um diese Anweisung zu verwenden, benötigen Sie das CREATE-Recht für die Datenbank. CREATE SCHEMA ist ein Synonym für CREATE DATABASE.

Ein Fehler tritt auf, wenn die Datenbank existiert und Sie IF NOT EXISTS nicht angegeben haben.

CREATE DATABASE ist innerhalb einer Sitzung mit einer aktiven LOCK TABLES-Anweisung nicht zulässig.

Jedes create_option gibt ein Datenbankmerkmal an. Datenbankmerkmale werden im Datenwörterbuch gespeichert.

  • Die Option CHARACTER SET gibt den Standardzeichensatz der Datenbank an. Die Option COLLATE gibt die Standardsortierung der Datenbank an. Informationen zu Zeichensatz- und Kollationierungsnamen finden Sie in Kapitel 10, Zeichensätze, Kollationen, Unicode.

    Um die verfügbaren Zeichensätze und Sortierungen anzuzeigen, verwenden Sie die Anweisungen SHOW CHARACTER SET bzw. SHOW COLLATION. Siehe Abschnitt 13.7.7.3, „SHOW CHARACTER SET Statement“, und Abschnitt 13.7.7.4, „SHOW COLLATION Statement“.

  • Die Option ENCRYPTION, eingeführt in MySQL 8.0.16, definiert die Standard-Datenbankverschlüsselung, die an die in der Datenbank erstellten Tabellen vererbt wird. Die zulässigen Werte sind 'Y' (Verschlüsselung aktiviert) und 'N' (Verschlüsselung deaktiviert). Wenn die Option ENCRYPTION nicht angegeben wird, definiert der Wert der Systemvariablen default_table_encryption die Standard-Datenbankverschlüsselung. Wenn die Systemvariable table_encryption_privilege_check aktiviert ist, ist die Berechtigung TABLE_ENCRYPTION_ADMIN erforderlich, um eine Standardverschlüsselungseinstellung anzugeben, die von der Einstellung default_table_encryption abweicht. Weitere Informationen finden Sie unter Definieren einer Verschlüsselungsvorgabe für Schemas und allgemeine Tablespaces.

Eine Datenbank in MySQL ist als Verzeichnis implementiert, das Dateien enthält, die den Tabellen in der Datenbank entsprechen. Da es in einer Datenbank keine Tabellen gibt, wenn sie zum ersten Mal erstellt wird, erzeugt die CREATE DATABASE-Anweisung nur ein Verzeichnis unter dem MySQL-Datenverzeichnis. Regeln für zulässige Datenbanknamen sind in Abschnitt 9.2, „Schema Object Names“, angegeben. Wenn ein Datenbankname Sonderzeichen enthält, enthält der Name für das Datenbankverzeichnis kodierte Versionen dieser Zeichen, wie in Abschnitt 9.2.4, „Zuordnung von Bezeichnern zu Dateinamen“, beschrieben.

Das Erstellen eines Datenbankverzeichnisses durch manuelles Erstellen eines Verzeichnisses unter dem Datenverzeichnis (zum Beispiel mit mkdir) wird in MySQL 8.0 nicht unterstützt.

Wenn Sie eine Datenbank erstellen, lassen Sie den Server das Verzeichnis und die Dateien darin verwalten. Das direkte Manipulieren von Datenbankverzeichnissen und -dateien kann zu Inkonsistenzen und unerwarteten Ergebnissen führen.

MySQL hat keine Begrenzung für die Anzahl der Datenbanken. Das zugrundeliegende Dateisystem kann eine Begrenzung für die Anzahl der Verzeichnisse haben.

Sie können auch das Programm mysqladmin verwenden, um Datenbanken zu erstellen. Siehe Abschnitt 4.5.2, „mysqladmin – Ein Verwaltungsprogramm für den MySQL-Server“.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.