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
XCOLLATE
angegeben werden, dann werden der Zeichensatz
YX und die Sortierfolge
Y eingestellt.
Wenn CHARACTER SET
ohne
XCOLLATE angegeben wird, dann wird der
Zeichensatz X mit seiner
Standardsortierfolge eingestellt.
Wenn COLLATE
ohne YCHARACTER 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.
