Jede Datenbank hat einen datenbankspezifischen Zeichensatz und
eine Datenbanksortierfolge. Die Anweisungen CREATE
DATABASE
und ALTER DATABASE
bieten
optionale Klauseln zur Angabe von Zeichensatz und Sortierfolge:
CREATE DATABASEdb_name
[[DEFAULT] CHARACTER SETcharset_name
] [[DEFAULT] COLLATEcollation_name
] ALTER DATABASEdb_name
[[DEFAULT] CHARACTER SETcharset_name
] [[DEFAULT] COLLATEcollation_name
]
Statt DATABASE
kann auch das Schlüsselwort
SCHEMA
verwendet werden.
Alle Datenbankoptionen werden in einer Textdatei namens
db.opt
gespeichert, die sich im
Datenbankverzeichnis befindet.
Die Klauseln CHARACTER SET
und
COLLATE
ermöglichen die Erstellung von
Datenbanken mit unterschiedlichen Zeichensätzen und
Sortierfolgen auf demselben MySQL Server.
Beispiel:
CREATE DATABASE db_name
CHARACTER SET latin1 COLLATE latin1_swedish_ci;
MySQL wählt Zeichensatz und Sortierfolge für die Datenbank auf folgende Weise:
Wenn sowohl CHARACTER SET
als auch
X
COLLATE
angegeben werden, dann werden der Zeichensatz
Y
X
und die Sortierfolge
Y
eingestellt.
Wenn CHARACTER SET
ohne
X
COLLATE
angegeben wird, dann wird der
Zeichensatz X
mit seiner
Standardsortierfolge eingestellt.
Wenn COLLATE
ohne Y
CHARACTER SET
angegeben wird, dann
wird der mit Y
verknüpfte
Zeichensatz mit der Sortierfolge
Y
eingestellt.
Andernfalls werden die Standardwerte für Zeichensatz und Sortierfolge eingestellt.
Datenbankzeichensatz und -sortierfolge werden als Standardwerte
verwendet, wenn Zeichensatz und Sortierfolge für die Tabelle
nicht in CREATE TABLE
-Anweisungen angegeben
werden. Einen anderen Zweck haben sie nicht.
Die Werte für Zeichensatz und Sortierfolge der
Standarddatenbank können den Systemvariablen
character_set_database
und
collation_database
entnommen werden. Der
Server stellt diese Variablen immer dann ein, wenn die
Standarddatenbank sich ändert. Ist keine Standarddatenbank
vorhanden, dann haben die Variablen denselben Wert wie die
entsprechenden Systemvariablen für die Serverebene
(character_set_server
und
collation_server
).
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.