MySQL - Zeichensatz: Ein Anfängerleitfaden

Hallo da draußen, zukünftige Datenbank-Zauberer! Heute machen wir uns auf eine magische Reise in die Welt der MySQL-Zeichensätze. Keine Sorge, wenn du noch nie eine Zeile Code geschrieben hast – ich werde dein freundlicher Guide sein, und wir werden dieses Thema gemeinsam Schritt für Schritt erkunden. Also, hol dir deine virtuelle Zauberstab (oder Maus) und tauchen wir ein!

MySQL - Character Set

Der MySQL-Zeichensatz

Was ist ein Zeichensatz?

Stell dir vor, du schreibst einen Brief an einen Freund. Das Alphabet, das du verwendest, um diesen Brief zu schreiben, ist wie ein Zeichensatz in MySQL. Es ist eine Sammlung von Symbolen, die MySQL verwendet, um Textdaten zu speichern und anzuzeigen.

In den Anfangszeiten der Datenverarbeitung hatten wir nur das grundlegende englische Alphabet und einige Satzzeichen. Aber mit dem Wachstum des Internets brauchten wir Möglichkeiten, Zeichen aus verschiedenen Sprachen und Schriftsystemen darzustellen. Hier kommen Zeichensätze ins Spiel!

Warum sind Zeichensätze wichtig?

Zeichensätze sind entscheidend, weil sie sicherstellen, dass:

  1. Deine Daten korrekt gespeichert werden.
  2. Deine Daten korrekt angezeigt werden.
  3. Du mit Text in verschiedenen Sprachen arbeiten kannst.

Denke daran so: Wenn du versucht, einen Brief auf Chinesisch mit nur dem englischen Alphabet zu schreiben, würde das nicht sehr gut funktionieren, oder? Das gleiche Prinzip gilt für Datenbanken.

Standard-Zeichensatz in MySQL

Wenn du MySQL installierst, kommt es mit einem Standard-Zeichensatz. Typischerweise ist das utf8mb4, ein vielseitiger Zeichensatz, der die meisten Sprachen und sogar Emojis unterstützen kann! ?

So kannst du den Standard-Zeichensatz überprüfen:

SHOW VARIABLES LIKE 'character_set_database';

Dieser Befehl könnte etwas wie folgendes zurückgeben:

+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| character_set_database   | utf8mb4|
+--------------------------+--------+

Keine Sorge, wenn du einen anderen Wert siehst – wir werden很快 lernen, wie man ihn ändert!

Der MySQL Show Character-Set

Nun, da wir verstehen, was Zeichensätze sind, lassen Sie uns lernen, wie man die verfügbaren Zeichensätze in unserer MySQL-Installation sieht.

Verfügbare Zeichensätze anzeigen

Um alle verfügbaren Zeichensätze zu sehen, verwenden wir den Befehl SHOW CHARACTER SET:

SHOW CHARACTER SET;

Dies wird eine Tabelle mit Spalten wie folgt anzeigen:

+----------+--------------------+---------------------+--------+
| Charset  | Description        | Default collation   | Maxlen |
+----------+--------------------+---------------------+--------+
| big5     | Big5 Traditional...| big5_chinese_ci     |      2 |
| dec8     | DEC West European  | dec8_swedish_ci     |      1 |
| cp850    | DOS West European  | cp850_general_ci    |      1 |
| hp8      | HP West European   | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom R... | koi8r_general_ci    |      1 |
| latin1   | cp1252 West Eur... | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Cent... | latin2_general_ci   |      1 |
...

Lass dich von all diesen Optionen nicht überwältigen! Für die meisten Zwecke ist utf8mb4 eine großartige Wahl.

Verständnis der Ausgabe

Lassen Sie uns aufschlüsseln, was jede Spalte bedeutet:

  • Charset: Der Name des Zeichensatzes.
  • Description: Eine kurze Beschreibung des Zeichensatzes.
  • Default collation: Die Standardmethode zum Vergleichen und Sortieren von Zeichenketten in diesem Zeichensatz.
  • Maxlen: Die maximale Anzahl von Bytes, die verwendet werden, um ein Zeichen zu speichern.

Der MySQL Set Character-set

Nun, da wir wissen, wie man Zeichensätze ansieht, lassen Sie uns lernen, wie man sie setzt!

Zeichensatz für eine Datenbank festlegen

Beim Erstellen einer neuen Datenbank kannst du ihren Zeichensatz angeben:

CREATE DATABASE my_awesome_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Dies erstellt eine Datenbank namens my_awesome_db mit dem Zeichensatz utf8mb4 und der Collation utf8mb4_unicode_ci.

Zeichensatz für eine Tabelle festlegen

Beim Erstellen einer Tabelle kannst du den Zeichensatz festlegen:

CREATE TABLE my_cool_table (
id INT PRIMARY KEY,
name VARCHAR(50)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Dies erstellt eine Tabelle mit dem angegebenen Zeichensatz und Collation.

Zeichensatz für eine Spalte festlegen

Du kannst sogar den Zeichensatz für einzelne Spalten festlegen:

CREATE TABLE multilingual_names (
id INT PRIMARY KEY,
name_english VARCHAR(50) CHARACTER SET latin1,
name_chinese VARCHAR(50) CHARACTER SET utf8mb4
);

Diese Tabelle kann Namen sowohl auf Englisch als auch auf Chinesisch effizient speichern.

Änderung des Zeichensatzes

Wenn du den Zeichensatz einer bestehenden Datenbank oder Tabelle ändern musst, kannst du den ALTER-Befehl verwenden:

ALTER DATABASE my_awesome_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE my_cool_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Sei vorsichtig beim Ändern von Zeichensätzen in bestehenden Daten, da dies zu Datenverlust führen kann, wenn es nicht korrekt durchgeführt wird!

Praktische Tipps und Tricks

  1. Verwenden Sie immer UTF-8: Så lange Sie keinen bestimmten Grund haben, verwenden Sie utf8mb4. Es ist vielseitig und zukunftssicher.

  2. Seien Sie konsistent: Versuchen Sie, überall in Ihrer Datenbank, Tabellen und Spalten denselben Zeichensatz zu verwenden, um Verwirrung zu vermeiden.

  3. Überprüfen Sie Ihre Verbindungen: Stellen Sie sicher, dass die Verbindung Ihrer Anwendung zu MySQL auch den richtigen Zeichensatz verwendet.

  4. Testen, testen, testen: Testen Sie immer Ihre Zeichensatzkonfigurationen mit Beispiel Daten, um sicherzustellen, dass alles wie erwartet funktioniert.

Fazit

Herzlichen Glückwunsch! Du hast gerade die ersten Schritte in die wunderbare Welt der MySQL-Zeichensätze unternommen. Denke daran, die Wahl des richtigen Zeichensatzes ist wie das Wahl der richtigen Werkzeug für eine Aufgabe – es macht alles andere einfacher.

Während du deine MySQL-Reise fortsetzt, wirst du auf komplexere Szenarien stoßen, in denen Zeichensätze eine entscheidende Rolle spielen. Aber für jetzt, mit diesem Wissen, bist du gut vorbereitet, um Datenbanken zu erstellen, die viele Sprachen sprechen können!

Weiter üben, neugierig bleiben und viel Spaß beim Programmieren! ??

Methode Beschreibung
SHOW CHARACTER SET Zeigt alle verfügbaren Zeichensätze
CREATE DATABASE ... CHARACTER SET ... Erstellt eine Datenbank mit einem bestimmten Zeichensatz
CREATE TABLE ... CHARACTER SET ... Erstellt eine Tabelle mit einem bestimmten Zeichensatz
ALTER DATABASE ... CHARACTER SET ... Ändert den Zeichensatz einer bestehenden Datenbank
ALTER TABLE ... CONVERT TO CHARACTER SET ... Ändert den Zeichensatz einer bestehenden Tabelle
SHOW VARIABLES LIKE 'character_set_%' Zeigt aktuelle Zeichensatz-Einstellungen

Credits: Image by storyset