Bei MySQL entsprechen Datenbanken den Verzeichnissen im
        Datenverzeichnis. Jede Tabelle in einer Datenbank entspricht
        mindestens einer Datei (abhängig von der Speicher-Engine
        möglicherweise auch mehreren) im Datenbankverzeichnis. Hieraus
        folgt, dass bezüglich der Groß-/Kleinschreibung von Datenbank-
        und Tabellennamen die Regeln des zugrunde liegenden
        Betriebssystems beachtet werden müssen. Dies bedeutet, dass die
        Groß-/Kleinschreibung von Datenbank- und Tabellennamen bei den
        meisten Unix-Varianten unterschieden wird, bei Windows hingegen
        nicht. Eine beachtenswerte Ausnahme ist Mac OS X, welches zwar
        auf Unix basiert, standardmäßig aber einen Dateisystemtyp
        verwendet, der die Groß-/Kleinschreibung nicht unterscheidet.
        Allerdings unterstützt Mac OS X auch UFS-Volumes, die wie bei
        Unix üblich die Groß-/Kleinschreibung unterscheiden. Siehe
        auch Abschnitt 1.9.4, „MySQL-Erweiterungen zu ANSI SQL92“. Die Systemvariable
        lower_case_table_names beeinflusst ebenfalls
        die Vorgehensweise des Servers in Bezug auf die
        Groß-/Kleinschreibung bei Bezeichnern. Weitere Informationen
        hierzu folgen in diesem Abschnitt.
      
        Hinweis: Zwar wird die
        Groß-/Kleinschreibung bei Datenbank- und Tabellennamen auf
        manchen Plattformen nicht unterschieden, aber Sie sollten eine
        gegebene Datenbank oder Tabelle auch nicht mit unterschiedlichen
        Schreibweisen innerhalb derselben Anweisung referenzieren. Die
        folgende Anweisung würde nicht funktionieren, weil sie eine
        Tabelle sowohl als my_table als auch als
        MY_TABLE referenziert:
      
mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
Bei Namen von Spalten, Indizes, gespeicherten Routinen und Triggern wird die Groß-/Kleinschreibung auf keiner Plattform unterschieden. Gleiches gilt für Spaltenaliase.
        Standardmäßig wird die Groß-/Kleinschreibung bei
        Tabellenaliasen unter Unix, nicht aber unter Windows oder Mac OS
        X unterschieden. Die folgende Anweisung würde unter Unix nicht
        funktionieren, da sie einen Alias sowohl als
        a als auch als A
        referenziert:
      
mysql>SELECT->col_nameFROMtbl_nameAS aWHERE a.col_name= 1 OR A.col_name= 2;
Unter Windows hingegen ist diese Anweisung zulässig. Damit Sie diesen Unterschieden möglichst wenig Beachtung schenken müssen, sollten Sie am besten eine konsistente Benennungskonvention verwenden, in der Datenbanken und Tabellen immer mit aus Kleinbuchstaben bestehenden Namen erstellt und referenziert werden. Eine solche Konvention wird im Sinne maximaler Portabilität und Benutzerfreundlichkeit empfohlen.
        Wie Tabellen- und Datenbanknamen auf Festplatte gespeichert und
        in MySQL verwendet werden, bestimmt die Systemvariable
        lower_case_table_names, die Sie beim Start
        von mysqld einstellen können.
        lower_case_table_names kann die in der
        nachfolgenden Tabelle aufgeführten Werte annehmen. Unter Unix
        ist der Standardwert von
        lower_case_table_names 0, unter Windows 1 und
        unter Mac OS X 2.
      
| Wert | Bedeutung | 
| 0 | Tabellen- und Datenbanknamen werden in der Schreibweise auf Festplatte
                gespeichert, die in der CREATE TABLE-
                bzw.CREATE DATABASE-Anweisung
                angegeben wurde. Beim Namensvergleich wird die
                Groß-/Kleinschreibung unterschieden. Beachten Sie,
                dass, wenn Sie diese Variable auf einem Dateisystem ohne
                Unterscheidung der Groß-/Kleinschreibung mit--lower-case-table-names=0explizit auf
                0 setzen und dannMyISAM-Tabellen mit
                Namen in anderer Schreibung aufrufen, dies zu einer
                Beschädigung der Indizes führen kann. | 
| 1 | Tabellennamen werden in Kleinbuchstaben auf Festplatte gespeichert. Beim Namensvergleich wird die Groß-/Kleinschreibung nicht unterschieden. MySQL konvertiert beim Speichern und Abrufen alle Tabellennamen in Kleinbuchstaben. Dieses Verhalten gilt auch für Datenbanknamen und Tabellenaliase. | 
| 2 | Tabellen- und Datenbanknamen werden in der Schreibweise auf Festplatte
                gespeichert, die in der CREATE TABLE-
                bzw.CREATE DATABASE-Anweisung
                angegeben wurde; beim Nachschlagen konvertiert MySQL sie
                jedoch in Kleinbuchstaben. Beim Namensvergleich wird die
                Groß-/Kleinschreibung nicht unterschieden.
                Hinweis: Dies
                funktioniert nur auf Dateisystemen,
                die die Groß-/Kleinschreibung nicht unterscheiden!InnoDB-Tabellennamen werden in
                Kleinbuchstaben (wie beilower_case_table_names=1)
                gespeichert. | 
        Wenn Sie MySQL nur auf einer Plattform verwenden, dann müssen
        Sie die Variable lower_case_table_names
        normalerweise nicht umstellen. Allerdings kann es zu Problemen
        kommen, wenn Sie Tabellen auf andere Plattformen mit
        unterschiedlicher Behandlung der Groß-/Kleinschreibung
        portieren wollen. So können Sie unter Unix beispielsweise zwei
        verschiedene Tabellen mit den Namen my_table
        und MY_TABLE verwenden; unter Windows jedoch
        werden diese beiden Namen als identisch betrachtet. Um
        Transferprobleme aufgrund der Schreibweise von Datenbank- oder
        Tabellennamen zu vermeiden, haben Sie zwei Optionen:
      
            Sie verwenden lower_case_table_names=1
            auf allen Systemen. Der wesentliche Nachteil besteht hierbei
            darin, dass Sie, wenn Sie SHOW TABLES
            bzw. SHOW DATABASES verwenden, die Namen
            nicht in der ursprünglichen Schreibweise angezeigt
            bekommen.
          
            Sie verwenden unter Unix
            lower_case_table_names=0 und unter
            Windows lower_case_table_names=2.
            Hierdurch wird die Schreibweise von Datenbank- und
            Tabellennamen beibehalten. Allerdings müssen Sie in diesem
            Fall gewährleisten, dass Ihre Anweisungen unter Windows die
            korrekte Schreibweise für Datenbank- und Tabellennamen
            enthalten. Wenn Sie Ihre Anweisungen dann auf Unix
            übertragen, wo die Groß-/Kleinschreibung unterschieden
            wird, dann funktionieren sie aufgrund der falschen
            Schreibweise nicht mehr.
          
            Ausnahme: Wenn Sie
            InnoDB-Tabellen verwenden, sollten Sie
            lower_case_table_names auf allen
            Plattformen auf 1 setzen. Hiermit wird die Konvertierung von
            Namen in die Kleinschreibung erzwungen.
          
        Beachten Sie, dass Sie, wenn Sie die Systemvariable
        lower_case_table_names unter Unix auf 1
        setzen wollen, zunächst Ihre alten Datenbank- und Tabellennamen
        in die Kleinschreibung konvertieren müssen, bevor Sie
        mysqld mit der neuen Variableneinstellung neu
        starten.
      
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.

