Anmelden
Anmelden

MySQL-Datentypen: Überblick, Anwendungsbeispiele und Best Practices

MySQL-Datentypen: Überblick, Anwendungsbeispiele und Best Practices
Hostman Team
Technical writer
MySQL-Datenbank
16.01.2026
Reading time: 7 min

Beim Einrichten einer Datenbank in MySQL muss der Benutzer jeder Spalte in einer Tabelle einen Namen und einen Datentyp zuweisen. Dieser Prozess hilft dem System genau zu verstehen, welche Art von Daten gespeichert wird und wie sie verarbeitet werden sollen, und bestimmt außerdem den benötigten Speicherplatz.

Es gibt mehrere Hauptklassen von Datentypen in MySQL-Tabellen, darunter numerische, Zeichen-, Datums- und Zeittypen sowie weitere. Jede Klasse umfasst mehrere spezifische Datentypen. Es ist wichtig, diese bereits in der Anfangsphase der Tabellenerstellung korrekt zu definieren, um Probleme zu vermeiden, sobald die vollständige Datenbankstruktur steht.

Dieser Artikel beschreibt die wichtigsten MySQL-Datentypen, ihre Struktur, gültigen Wertebereiche und empfohlene Einsatzszenarien.

Numerische Datentypen

MySQL unterstützt alle gängigen numerischen SQL-Datentypen, die zur Speicherung von Zahlen verwendet werden. In diesem Artikel werden behandelt:

  • Ganzzahlen

  • Gleitkommazahlen

  • Festkommazahlen

Jeder dieser Typen wird im Folgenden näher erläutert.

Ganzzahlen (Integers)

Ganzzahltypen werden zur Speicherung von vorzeichenbehafteten oder vorzeichenlosen Ganzzahlen verwendet. Vorzeichenbehaftete Typen können sowohl positive als auch negative Zahlen speichern, während vorzeichenlose Typen nur positive Werte zulassen und dadurch den Wertebereich effektiv verdoppeln.

Es gibt fünf Haupttypen für Ganzzahlen: TINYINT, SMALLINT, MEDIUMINT, INT und BIGINT. Der wesentliche Unterschied liegt im jeweiligen Wertebereich – je größer dieser ist, desto mehr Speicher wird benötigt. Die Wahl des passenden Typs ist wichtig, um Speicher effizient zu nutzen.

Typ

Speicher (Bytes)

Vorzeichenbehafteter Bereich

Vorzeichenloser Bereich

TINYINT

1

−2⁷ bis 2⁷−1

0 bis 2⁸−1

SMALLINT

2

−2¹⁵ bis 2¹⁵−1

0 bis 2¹⁶−1

MEDIUMINT

3

−2²³ bis 2²³−1

0 bis 2²⁴−1

INT

4

−2³¹ bis 2³¹−1

0 bis 2³²−1

BIGINT

8

−2⁶³ bis 2⁶³−1

0 bis 2⁶⁴−1

Die Angabe einer Größe (z. B. MEDIUMINT(6)) beeinflusst nicht den Wertebereich. Sie ist rein kosmetisch und wird von einigen Tools verwendet, um kürzere Zahlen mit Leerzeichen aufzufüllen.
Mit dem Attribut ZEROFILL können stattdessen Nullen verwendet werden. Beispiel:
SMALLINT(8) ZEROFILL stellt den Wert 256 als 00000256 dar.

Gleitkommazahlen (Floating-Point Numbers)

Diese Datentypen werden zur Speicherung näherungsweiser numerischer Werte verwendet. MySQL erlaubt die Definition der Genauigkeit wie folgt:

FLOAT(p)

Dabei steht p für die Genauigkeit von 0 bis 53.

  • Ist p < 25, wird FLOAT (einfache Genauigkeit) verwendet.

  • Andernfalls wird DOUBLE (doppelte Genauigkeit) genutzt.

Typ

Speicher (Bytes)

Wertebereich

FLOAT

4

~±3,4028 × 10³⁸

DOUBLE

8

~±1,7976 × 10³⁸

Festkommazahlen (Fixed-Point Numbers)

Festkommazahlen werden zur exakten Speicherung numerischer Werte mit definierter Genauigkeit verwendet. Hierfür dienen die Typen DECIMAL oder NUMERIC, die insbesondere bei Finanzberechnungen eingesetzt werden, bei denen Rundungsfehler nicht akzeptabel sind.

Definition:

DECIMAL(M, D)

  • M: Gesamtanzahl der Ziffern (bis zu 65, Standardwert 10)

  • D: Anzahl der Nachkommastellen (0–30, Standardwert 0)

Beispiel:

DECIMAL(6, 3)

Dieser Typ speichert Werte von -999.999 bis 999.999.
DECIMAL und NUMERIC sind funktional identisch.

Zeichentypen (Character Types)

Zur Speicherung kurzer Texte dienen in MySQL hauptsächlich CHAR und VARCHAR. Beide sind ähnlich, unterscheiden sich jedoch in der Art der Speicherung.

CHAR speichert Zeichenketten fester Länge (0 bis 2⁸−1 Zeichen), die beim Erstellen der Tabelle definiert wird. Ist der eingegebene Text kürzer, werden die verbleibenden Zeichen mit Leerzeichen aufgefüllt.

VARCHAR speichert Zeichenketten variabler Länge (0 bis 2¹⁶−1 Zeichen). Es speichert nur die tatsächlich vorhandenen Zeichen und verwendet zusätzlich 1 Byte zur Speicherung der Zeichenlänge.

Überschreitet eine Zeichenkette die definierte Länge von CHAR oder VARCHAR, wird sie abgeschnitten.

Wenn bei der Tabellenerstellung CHAR- und VARCHAR-Spalten kombiniert werden, konvertiert MySQL CHAR automatisch in VARCHAR.

Vergleich von CHAR(5) und VARCHAR(5)

Zeichenkette

CHAR(5)

VARCHAR(5)

'A'

'A '

'A'

'Hello'

'Hello'

'Hello'

'Example'

'Examp'

'Examp'

Text- und Binärtypen

Der Datentyp TEXT wird zur Speicherung großer Textmengen verwendet, während BLOB für Binärdaten wie Bilder, kompilierten Code oder Audiodateien vorgesehen ist.

Wichtige Unterschiede:

  • BLOB: Sortierung und Vergleiche sind groß-/kleinschreibungssensitiv

  • TEXT: Sortierung und Vergleiche sind nicht groß-/kleinschreibungssensitiv

MySQL kann TEXT- und BLOB-Felder nicht vollständig indexieren und unterstützt keine Sortierung über vollständige Feldindizes.
Überschreitet der Inhalt die maximale Größe, wird er abgeschnitten.

TEXT-Typen

Typ

Speichergröße (Bytes)

Maximale Zeichen

TINYTEXT

2⁸−1

bis 2⁸−1

TEXT

2¹⁶−1

bis 2¹⁶−1

MEDIUMTEXT

2²⁴−1

bis 2²⁴−1

LONGTEXT

2³²−1

bis 2³²−1

BLOB-Typen

Typ

Speichergröße (Bytes)

Maximale Bytes

TINYBLOB

2⁸−1

bis 2⁸−1

BLOB

2¹⁶−1

bis 2¹⁶−1

MEDIUMBLOB

2²⁴−1

bis 2²⁴−1

LONGBLOB

2³²−1

bis 2³²−1

Datum und Uhrzeit

MySQL stellt mehrere Datentypen zur Speicherung von Datums- und Zeitinformationen bereit:

Typ

Speicher (Bytes)

Beschreibung

DATE

3

Speichert nur das Datum im Format YYYY-MM-DD. Bereich: 01.01.1000 bis 31.12.9999

DATETIME

8

Speichert Datum und Uhrzeit im Format YYYY-MM-DD HH:MM:SS

TIMESTAMP

4

Wie DATETIME, aber mit geringerem Speicherbedarf; Bereich: 1970–2038

TIME

3

Speichert Zeitwerte von −838:59:59 bis 838:59:59

YEAR

1

Speichert das Jahr im Format YYYY (1901–2155, sowie 0000)

JSON

MySQL unterstützt seit Version 5.7.8 einen nativen JSON-Datentyp mit folgenden Vorteilen:

  • Automatische Validierung gültiger JSON-Strukturen

  • Optimiertes binäres Speicherformat für schnelleren Zugriff

Der Speicherbedarf entspricht in etwa LONGTEXT.

Zusammengesetzte Typen (Composite Types)

MySQL bietet spezielle Zeichenketten-Datentypen mit vordefinierten Wertemengen:

  • ENUM: Speichert einen Wert aus einer Liste (bis zu 2 Bytes)

  • SET: Speichert mehrere Werte gleichzeitig (bis zu 26, max. 8 Bytes)

Beispiel

ENUM('a', 's', 'd')

Erlaubte Werte: 'a', 's', 'd'

SET('a', 's', 'd')

Erlaubte Kombinationen:
'a', 's', 'd', 'a,s', 'a,d', 's,d', 'a,s,d' oder ''

Bei doppelten Werten wie ('a','s','a') entfernt MySQL Duplikate automatisch und speichert 'a,s'.

Fazit

Dieser Artikel hat die am häufigsten verwendeten MySQL-Datentypen zur Definition von Tabellenspalten behandelt. Mit diesem Wissen können Nutzer geeignete Datentypen auswählen und ihre Datenbankstruktur effizient gestalten. Für weniger gebräuchliche Datentypen empfiehlt sich die offizielle MySQL-Dokumentation.

Mit Hostman Cloud-Datenbanken können Sie die Arbeit mit MySQL und seinen Datentypen praktisch erproben. Zu den wichtigsten Vorteilen gehören:

  • Wartung und Konfiguration durch den Anbieter

  • Hohe Verfügbarkeit und Ausfallsicherheit

  • Automatische Backups

  • Schnelle horizontale und vertikale Skalierung

  • Dauerbetrieb durch Cluster-Replikation

  • Nutzung der Rechenressourcen einer Cloud-Plattform

MySQL-Datenbank
16.01.2026
Reading time: 7 min

Ähnlich

Debian-System

Wie man MySQL auf Debian installiert

Die Installation von MySQL auf Debian schafft eine robuste und flexible Datenbank-Infrastruktur, die eine Vielzahl von Anwendungen und Diensten unterstützt. MySQL ist bekannt für seine Skalierbarkeit, Zuverlässigkeit und Stabilität. Durch die Einrichtung profitieren Benutzer von effizienteren Abläufen und einer gesteigerten Gesamtleistung der Datenbankinfrastruktur. Diese Kombination ist besonders vorteilhaft für Administratoren, Datenbankanalysten und Unternehmen, die eine verlässliche Lösung zum Verwalten großer Datenmengen benötigen. Darüber hinaus erleichtern die umfassende Dokumentation und die Community von MySQL das Troubleshooting und die Optimierung von Abläufen. In dieser Anleitung zeigen wir den vollständigen Prozess zur Installation und Konfiguration von MySQL auf Debian. So installieren Sie MySQL auf Debian Die Standard-Repositorys von Debian enthalten kein Paket für den MySQL-Datenbankserver. Um MySQL auf einem Linux-System zu installieren, folgen Sie bitte den untenstehenden Anweisungen. Wir laden die aktuelle Version von MySQL herunter. Schritt 1: MySQL-Paket herunterladen Laden Sie zunächst das Repository-Informationspaket von MySQL im .deb-Format herunter: wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb Hinweis: Besuchen Sie die MySQL-Repository-Seite, um die neueste Version zu prüfen. Schritt 2: Konfigurationspaket installieren Installieren Sie das heruntergeladene .deb-Paket mit dpkg: sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb Beantworten Sie die Eingabeaufforderung. Wählen Sie zum Beispiel „MySQL Server & Cluster“ und drücken Sie die Eingabetaste, um mit der Konfiguration fortzufahren. Wählen Sie dann die gewünschte Version (z. B. mysql-8.4-lts) und bestätigen Sie mit OK. Schritt 3: Paketindex aktualisieren Aktualisieren Sie die Paketlisten, um die neue MySQL-Konfiguration anzuwenden: sudo apt update Schritt 4: MySQL installieren Installieren Sie den MySQL-Server: sudo apt install mysql-server -y Während der Installation erscheint eine Oberfläche zur Vergabe eines Root-Passworts. Wählen Sie ein sicheres Passwort und bestätigen Sie mit OK. Überprüfen Sie anschließend die installierte Version: mysql --version Schritt 5: Dienste verwalten Aktivieren Sie den automatischen Start von MySQL beim Systemstart: sudo systemctl enable mysql Starten Sie den Dienst: sudo systemctl start mysql Überprüfen Sie, ob der Dienst läuft: sudo systemctl status mysql Bevor Sie den Port 3306 öffnen, sehen Sie sich die Anleitung zur Erstellung eines SSH-Tunnels für MySQL an – so können Sie Verbindungen sicher über SSH weiterleiten und müssen MySQL nicht direkt ins Internet freigeben. Schritt 6: MySQL-Installation absichern Das bei der Installation gesetzte Root-Passwort schützt nun den Root-Nutzer auf dem Server. MySQL bringt jedoch weitere unsichere Standardeinstellungen mit, etwa den Fernzugriff auf Testdatenbanken oder anonyme Benutzer. Nach der Installation sollten Sie daher unbedingt unsichere Voreinstellungen deaktivieren. MySQL bietet dafür ein Sicherheits-Skript. Führen Sie es mit folgendem Befehl aus: sudo mysql_secure_installation Um die Komponente „VALIDATE PASSWORD“ zu aktivieren und sichere Passwörter zu erzwingen, geben Sie Y ein und drücken Sie Enter. Danach müssen mehrere Sicherheitseinstellungen vorgenommen werden: Root-Passwort festlegen: Wählen Sie ein starkes Passwort und stellen Sie sicher, dass es korrekt ist. Konfigurieren Sie die Passwort-Richtlinie für den Datenbankserver. Geben Sie z. B. 2 ein, um nur starke Passwörter zuzulassen, und drücken Sie Enter. Wenn Sie das Root-Passwort nicht ändern möchten, geben Sie N ein, andernfalls Y.   Anonyme Benutzer entfernen: Es wird empfohlen, den Zugriff anonymer Benutzer zu deaktivieren. Geben Sie dazu Y ein und drücken Sie Enter.   Remote-Zugriff für Root verhindern: Aus Sicherheitsgründen sollten Sie den Fernzugriff für den Root-Nutzer deaktivieren. Geben Sie Y ein und drücken Sie Enter.   Testdatenbank löschen: Um die Sicherheit zu erhöhen, sollten Sie die zu Testzwecken verwendete Datenbank löschen. Geben Sie dazu Y ein und drücken Sie Enter. Berechtigungstabellen neu laden: Dadurch werden alle Änderungen sofort übernommen. Drücken Sie einfach Enter, um die Konfiguration abzuschließen und die Privilegientabelle zu aktualisieren. Schritt 7: Zugriff auf MySQL Verwenden Sie das Dienstprogramm mysql, um sich mit dem Datenbankserver zu verbinden: sudo mysql -u root -p Geben Sie das Root-Passwort ein, das Sie bei der Sicherung der Installation festgelegt haben. Schritt 8: Grundlegende MySQL-Befehle Es ist bewährte Praxis, nicht mit dem Root-Konto zu arbeiten, sondern eigene Datenbanken und Benutzerkonten für Anwendungen anzulegen. Datenbank erstellen: Legen Sie zunächst eine neue Datenbank an. In unserem Beispiel heißt sie hostmandb: CREATE DATABASE hostmandb; Alle Datenbanken anzeigen: Listen Sie alle vorhandenen Datenbanken auf, um zu prüfen, ob hostmandb erfolgreich erstellt wurde: SHOW DATABASES; Neuen Benutzer erstellen: Erstellen Sie einen Benutzer und weisen Sie ihm ein starkes Passwort zu. In unserem Fall lautet das Passwort Qwer@1234 für den Benutzer minhal. Ersetzen Sie diese Werte durch Ihre eigenen Daten: CREATE USER 'minhal'@'localhost' IDENTIFIED BY 'Qwer@1234'; Benutzerberechtigungen vergeben: Geben Sie dem Benutzer vollständigen Zugriff auf die Datenbank hostmandb: GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost'; Privilegien neu laden: Damit die Änderungen wirksam werden, aktualisieren Sie die Berechtigungstabellen: FLUSH PRIVILEGES; MySQL-Shell verlassen: Schließen Sie die MySQL-Konsole: EXIT; Mit dem neuen Benutzer anmelden: Testen Sie den Zugriff auf hostmandb, indem Sie sich mit dem neu erstellten Benutzer anmelden: sudo mysql -u minhal -p Geben Sie das Passwort des Benutzers minhal ein, wenn Sie dazu aufgefordert werden. Überprüfen Sie, ob hostmandb verfügbar ist: SHOW DATABASES; Schritt 9: Konfiguration für Remote-Zugriff Wenn Sie MySQL von einem entfernten System aus erreichen möchten, müssen Sie den Server für den Fernzugriff konfigurieren: Öffnen Sie die Datei mysql.cnf: sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf Suchen Sie die Zeile mit bind-address und ändern Sie sie zu: bind-address = 0.0.0.0 Dienst neu starten: sudo systemctl restart mysql Melden Sie sich als Root an und erteilen Sie dem Benutzer Remote-Zugriff: sudo mysql -u root -p GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';FLUSH PRIVILEGES;EXIT; Schritt 10: Firewall konfigurieren Falls eine Firewall aktiv ist, müssen Sie den MySQL-Port 3306 freigeben: MySQL-Verbindungen erlauben: sudo ufw allow mysql UFW aktivieren: sudo ufw enable UFW neu laden: sudo ufw reload Schritt 11: Backup und Wiederherstellung Regelmäßige Backups schützen vor Datenverlust. Mit dem Tool mysqldump können Sie Daten sichern und wiederherstellen: Einzelne Datenbank sichern: Dieser Befehl nutzt mysqldump, um ein Backup der Datenbank hostmandb als Datei hostmandb_backup.sql zu erstellen: sudo mysqldump -u root -p hostmandb> hostmandb_backup.sql Alle Datenbanken sichern: Um alle Datenbanken mit Root-Rechten in der Datei all_databases_backup.sql zu sichern, verwenden Sie: sudo mysqldump -u root -p --all-databases > all_databases_backup.sql Datenbank wiederherstellen: sudo mysql -u root -p hostmandb < hostmandb_backup.sql Schritt 12: MySQL optimieren (optional) Passen Sie je nach Arbeitslast und Serverressourcen die Einstellungen an, um eine optimale Leistung sicherzustellen. Die folgenden Maßnahmen helfen dabei, die Geschwindigkeit von MySQL zu maximieren: InnoDB-Buffer-Pool-Größe erhöhen: Im InnoDB-Buffer-Pool werden Zwischenspeicher für Daten und Indizes abgelegt. Eine Erhöhung dieser Größe kann die Performance deutlich verbessern. Öffnen Sie die MySQL-Konfigurationsdatei: sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf Fügen Sie hinzu oder bearbeiten Sie: innodb_buffer_pool_size = 1G Query Cache aktivieren: Der Query Cache speichert die Ergebnisse von SELECT-Abfragen. Das Aktivieren kann bei häufig wiederholten Abfragen die Leistung verbessern. Öffnen Sie die Konfigurationsdatei: sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf Fügen Sie die folgenden Zeilen hinzu oder passen Sie sie an: query_cache_type = 1query_cache_size = 64M Tabellenstruktur optimieren: Optimieren Sie regelmäßig Tabellen wie customers in der Datenbank hostmandb, um Speicherplatz freizugeben und die Effizienz zu erhöhen: USE hostmandb;OPTIMIZE TABLE customers; Performance analysieren: Datenbankoperationen lassen sich mit Tools wie MySQL Workbench oder mysqltuner analysieren. Installieren Sie mysqltuner mit folgendem Befehl: sudo apt install mysqltuner Führen Sie mysqltuner aus, um Empfehlungen zur Leistungsverbesserung zu erhalten: sudo mysqltuner Fazit Die Einrichtung einer MySQL-Datenbankumgebung ist in der heutigen digitalen Welt von großer Bedeutung. Mit dieser Anleitung können Sie Ihre MySQL-Datenbank sicher installieren und verbinden. Dieses Vorgehen erhöht nicht nur die Sicherheit, sondern verbessert auch die Effizienz der Remote-Verwaltung Ihrer Datenbank. Es hilft, Sicherheitslücken zu vermeiden und die Vertraulichkeit Ihrer Daten zu gewährleisten. Dieser Artikel bietet eine ausführliche Schritt-für-Schritt-Anleitung zur Installation der MySQL-Datenbankumgebung auf Debian. Wir empfehlen, MySQL-Server regelmäßig zu überwachen und zu optimieren, um eine optimale Leistung und Zuverlässigkeit sicherzustellen. Darüber hinaus bietet Hostman vorkonfigurierte und sofort einsatzbereite Cloud-Datenbanken, darunter auch MySQL in der Cloud.
16 July 2025 · 8 min to read

Haben Sie Fragen
oder benötigen Sie Unterstützung?

Unsere Fachleute stehen Ihnen jederzeit zur Verfügung –
egal ob Sie Hilfe benötigen oder nicht wissen, wo Sie anfangen sollen.
E-Mail an uns
Hostman's Support