Premium
Frage26
Verbleibend:

Erkläre die Unterschiede zwischen CHAR und VARCHAR

Musterantwort

Antwort standardmäßig anzeigen

CHAR(n):

  • Speichert Strings mit fester Länge n.
  • Ist die eingegebene Zeichenkette kürzer als n, wird sie mit Leerzeichen auf n aufgefüllt.
  • Geeignet für Daten gleicher Länge (z. B. Ländercodes, Postleitzahlen).

VARCHAR(n):

  • Speichert Strings variabler Länge mit bis zu n Zeichen.
  • Belegt tatsächlich nur so viel Platz, wie der String Zeichen hat, plus einen kleinen Overhead für die Längenangabe.
  • Geeignet für Daten mit variabler Länge.

Wichtigste Unterschiede:

Speicher und Performance:

  • CHAR belegt immer eine feste Menge an Speicher.
  • VARCHAR ist beim Speicherverbrauch effizienter, kann aber beim Zugriff einen Hauch langsamer sein.

Einsatzgebiete:

  • CHAR ist gut für Daten mit vorhersagbarer Länge geeignet.
  • VARCHAR ist gut für Daten mit variabler Länge geeignet.

Beispiel:

MySQL 8.1
CREATE TABLE products (
    code CHAR(10),     -- Produktcode mit fester Länge
    name VARCHAR(100)  -- Produktname mit variabler Länge
);

Daten einfügen:

MySQL 8.1
INSERT INTO products (code, name)
VALUES ('A123', 'Lenovo Notebook');

In der Spalte code wird der Wert mit Leerzeichen auf 10 Zeichen aufgefüllt.