Ein Zeichensatz ist eine Menge mit Symbolen und Kodierungen. Eine Sortierfolge ist ein Regelsatz für den Vergleich von Zeichen in einem Zeichensatz. Folgendes Beispiel, welches einen imaginären Zeichensatz verwendet, soll den Unterschied verdeutlichen.
      Angenommen, wir haben ein Alphabet mit vier Buchstaben:
      ‘A’,
      ‘B’,
      ‘a’,
      ‘b’. Jedem Buchstaben weisen wir
      nun eine Zahl zu: ‘A’ = 0,
      ‘B’ = 1,
      ‘a’ = 2,
      ‘b’ = 3. Der Buchstabe
      ‘A’ ist ein Symbol, die Zahl 0 die
      Kodierung für
      ‘A’. Die Kombination aller vier
      Buchstaben und ihrer Kodierungen bildet den
      Zeichensatz.
    
      Angenommen, wir wollen zwei String-Werte
      ‘A’ und
      ‘B’ miteinander vergleichen. Die
      einfachste Möglichkeit, dies zu tun, besteht in einem Blick auf
      die Kodierungen: 0 für ‘A’ und 1
      für ‘B’. Da 0 kleiner als 1 ist,
      sagen wir, dass ‘A’ kleiner als
      ‘B’ ist. Was wir gerade getan
      haben, war die Anwendung einer Sortierfolge für unseren
      Zeichensatz. Die Sortierfolge ist eine Menge von Regeln – wenn
      auch in diesem Fall nur eine Regel: „Vergleiche die
      Kodierungen“. Diese einfachste aller möglichen
      Sortierfolgen nennen wir Binärsortierung.
    
      Was aber, wenn wir ausdrücken wollen, dass Klein- und
      Großbuchstaben äquivalent sind? Dann hätten wir schon zwei
      Regeln: (1) Betrachte die Kleinbuchstaben
      ‘a’ und
      ‘b’ als äquivalent zu den
      entsprechenden Großbuchstaben ‘A’
      und ‘B’. (2) Vergleiche die
      Kodierungen. Dies ist eine Sortierfolge ohne
      Unterscheidung der Groß-/Kleinschreibung. Sie ist ein
      kleines bisschen komplexer als eine Binärsortierung.
    
      Im wirklichen Leben umfassen die meisten Zeichensätze viele
      Zeichen: nicht nur ‘A’ und
      ‘B’, sondern ganze Alphabete –
      manchmal sogar mehrere Alphabete oder fernöstliche Schreibsysteme
      mit Tausenden von Zeichen – sowie viele Sonder- und
      Interpunktionszeichen. Auch für Sortierfolgen gibt es im
      wirklichen Leben viele Regeln, die nicht nur die Behandlung der
      Groß-/Kleinschreibung angeben, sondern auch, ob Akzente und
      Tremata (die Punkte etwa auf den deutschen Umlauten Ä, Ö und Ü)
      unterschieden und wie Folgen aus mehreren Zeichen zugeordnet
      werden (beispielsweise die Regel, dass bei einer der beiden
      deutschen Sortierfolgen die Gleichung
      ‘Ö’ =
      ‘OE’ gilt).
    
MySQL erlaubt Ihnen
das Speichern von Strings in einer Vielzahl von Zeichensätzen,
das Vergleichen von Strings unter Verwendung einer Vielzahl von Sortierfolgen,
das Mischen von Strings verschiedener Zeichensätze oder Sortierfolgen auf demselben Server, in derselben Datenbank oder sogar derselben Tabelle,
die Angabe von Zeichensatz und Sortierfolge auf beliebiger Ebene.
In dieser Hinsicht ist MySQL den meisten anderen Datenbanksystemen weit überlegen. Allerdings müssen Sie, um diese Funktionen effizient nutzen zu können, wissen, welche Zeichensätze und Sortierfolgen verfügbar sind, wie Sie die Standardeinstellungen ändern und wie diese das Verhalten von String-Operatoren und -Funktionen beeinflussen.
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.
