MySQL-Datentypen

Oft gesucht, selten gefunden: die gängigen Datentypen für eine (My)SQL-Datenbank. Jetzt kompakt in der Übersicht mit Optionen, Speicherbedarf und Kurzbeschreibung.

Abkürzungen: Legende || Sortierung Datentyp: A-Z | Standard | Z-A

Datentyp Speicherplatz Optionen Beschreibung
BIGINT 8 Bytes   [(M)] [U] [Z]   Ganzzahlen von 0 bis 2^64-1 oder von -(2^63) bis (2^63)-1.
BINARY M Bytes   (M)   Zum Speichern binärer Strings, unabhängig vom Zeichensatz. Wertebereich für M: 0 bis 255. Weiterer Typ: VARBINARY
BLOB L+2 Bytes   (M)   Binäres Objekt mit variablen Daten. Weitere Typen: TINYBLOB, MEDIUMBLOB und LONGBLOB. M ist ab Version 4.1 definierbar.
CHAR M Byte(s)   (M) [BINARY]   Zeichenkette fester Länge M. Wertebereich für M: 0 bis 255.
DATE 3 Bytes   -   Datum im Format 'YYYY-MM-DD'. Wertebereich von 01.01.1000 bis 31.12.9999.
DATETIME 8 Bytes   -   Datumsangabe im Format 'YYYY-MM-DD hh:mm:ss'. Wertebereich entspricht DATE.
DECIMAL M+x Bytes   [(M,D)] [U] [Z]   Fließkommazahl mit Vorzeichen. Speicherbedarf: x=1 wenn D=0, sonst x=2. Ab MySQL 5.1 binär gespeichert, zuvor als String.
DOUBLE 8 Bytes   [(M,D)] [U] [Z]   Fließkommazahl mit Vorzeichen. Wertebereich von -(1,79769×10308) bis -(2.22507×10-308), 0 und 2.22507×10-308 bis 1,79769×10308
ENUM 1 oder 2 Bytes   ('val1', 'val2', ...)   Liste von Werten (val1, val2, ...). 65.535 eineindeutige Elemente sind maximal möglich.
FLOAT 4 Bytes   [(M,D)] [U] [Z]   Fließkommazahl mit Vorzeichen. Wertebereich von -(3,402823466×1038) bis -(1,175494351×10-38), 0 und 1,175494351×10-38 bis 3,402823466×1038.
INT 4 Bytes   [(M)] [U] [Z]   Ganzzahlen von 0 bis ~4,3 Mill. oder von -2.147.483.648 bis 2.147.483.647.
INTEGER 4 Bytes   [(M)] [U] [Z]   Alias für INT.
MEDIUMINT 3 Bytes   [(M)] [U] [Z]   Ganzzahlen von 0 bis 16.777.215 oder von -8.388.608 bis 8.388.607.
NUMERIC M+x Bytes   [(M,D)] [U] [Z]   Alias für DECIMAL.
REAL 8 Bytes   [(M,D)] [U] [Z]   Alias für DOUBLE.
SET x Bytes   ('val1', 'val2', ...)   String-Objekt mit verschiedenen Variablen. 64 sind maximal möglich. Speicherbedarf: x ist 1, 2, 3, 4 oder 8.
SMALLINT 2 Bytes   [(M)] [U] [Z]   Ganzzahlen von 0 bis 65.535 oder von -32.768 bis 32.767.
TEXT L+2 Bytes   (M)   Wie BLOB. Ignoriert beim Sortieren & Vergleichen Groß- und Kleinschreibung. Weitere Typen: TINYTEXT, MEDIUMTEXT, LONGTEXT. M ist ab Version 4.1 definierbar.
TIME 3 Bytes   -   Zeit zwischen -838:59:59 und 839:59:59. Ausgabe: hh:mm:ss.
TIMESTAMP 4 Bytes   -   Zeitstempel. Wertebereich: 1.1.1970 bis 19.01.2038. Das Format variiert in den MySQL-Versionen.
TINYINT 1 Byte   [(M)] [U] [Z]   Ganzzahlen von 0 bis 255 oder von -128 bis 127.
VARCHAR L+1 Bytes   (M) [BINARY]   Zeichenkette variabler Länge, Maximum ist M. Wertebereich für M: 0 bis 255.
YEAR 1 Byte   [(2|4)]   Jahr zwischen 1901 bis 2155 bei (4) und zwischen 1970 bis 2069 bei (2).

Filter:

Legende

^ = Potenzzeichen
[ ] = Optionaler Parameter
BINARY = Attribut für die Sortierung
D = Anzahl der Kommastellen bei einer Dezimalzahl
L = Stringlänge (Berechnung Speicherbedarf)
M = Maximale Anzahl der gezeigten Stellen
Mill. = Milliarden
U = UNSIGNED (Zahl ohne Vorzeichen)
Z = Zerofill

Hinweise

Diese Übersicht versteht sich als Arbeitshilfe beim Anlegen neuer Datenbanktabellen und listet häufig verwendete Datentypen. Sie erhebt keinen Anspruch auf Vollständigkeit. Die Angaben sind mehrfach auf Richtigkeit geprüft.

Die Werte bei DOUBLE sind gerundet und mathematisch betrachtet ungenau. Wer exakte Zahlen braucht, schaut bitte in die Dokumentation.

Zwischen den MySQL-Versionen (3, 4, 5) gibt es große und kleine Unterschiede. Die hier notierten Angaben beziehen sich auf die Version 5.1. Ich bitte dies zu beachten. :)

Quellen

Krause, Jörg
"PHP Grundlagen und Lösungen", München, Wien, 2000, S.332-336

MySQL AB
"MySQL Reference Manual", 2012, › http://dev.mysql.com/doc/

Erstveröffentlichung: 23.09.2003

Werbung
Rostock Bilder


URL: http://www.schmager.de/mysql.php aktualisiert: 01.01.2017
© 1998 - 2017 Jan Schmager
0.0033 s