Datentypen (MySql 5.1)
Datentyp | Speicher | Optionen | Beschreibung | ||||
---|---|---|---|---|---|---|---|
TINYINT | 1 Byte | [(M)] [U] [Z] | Ganzzahlen von <m 10>delim{[}{0 … 255}{]}</m> oder <m 10>delim{[}{-128 … 127}{]}</m> | ||||
SMALLINT | 2 Bytes | [(M)] [U] [Z] | Ganzzahlen <m 10>delim{[}{0 … 65.535}{]}</m> oder <m 10>delim{[}{-32.768 … 32.767}{]}</m>. | ||||
MEDIUMINT | 3 Bytes | [(M)] [U] [Z] | Ganzzahlen <m 10>delim{[}{0 … 16.777.215}{]}</m> oder <m 10>delim{[}{-8.388.608 … 8.388.607}{]}</m> | ||||
INT | 4 Bytes | [(M)] [U] [Z] | Ganzzahlen <m 10>delim{[}{0 … ~4,3*10 | 6}{]}</m> oder <m 10>delim{[}{-2.147.483.648 … 2.147.483.647}{]}</m> | |||
INTEGER | 4 Bytes | [(M)] [U] [Z] | Alias für INT | ||||
BIGINT | 8 Bytes | [(M)] [U] [Z] | Ganzzahlen <m 10>delim{[}{0 … 2*10 | 64-1}{]}</m> oder <m 10>delim{[}{-2*10 | 63 … 2*10 | 63-1}{]}</m>. | |
FLOAT | 4 Bytes | [(M,D)] [U] [Z] | Fließkommazahl mit Vorzeichen <m 10>delim{[}{-3,402823466*10 | 38 … -1,175494351*10 | -38}{]},0,delim{[}{1,175494351*10 | -38 … 3,402823466*10 | 38}{]}</m> |
DOUBLE | 8 Bytes | [(M,D)] [U] [Z] | Fließkommazahl mit Vorzeichen <m 10>delim{[}{-1,798*10 | 308 … -2,225*10 | -308}{]},0,delim{[}{2,225*10 | -308 … 1,798*10 | 308}{]}</m> |
REAL | 8 Bytes | [(M,D)] [U] [Z] | Alias für DOUBLE | ||||
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 | ||||
NUMERIC | M+x Bytes | [(M,D)] [U] [Z] | Alias für DECIMAL | ||||
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 | ||||
TIMESTAMP | 4 Bytes | - | Zeitstempel. Wertebereich: 1.1.1970 bis 19.01.2038. Das Format variiert in den MySQL-Versionen | ||||
TIME | 3 Bytes | - | Zeit zwischen -838:59:59 und 839:59:59. Ausgabe: hh:mm:ss | ||||
YEAR | 1 Byte | [(2,4)] | Jahr zwischen 1901 bis 2155 bei (4) und zwischen 1970 bis 2069 bei (2) | ||||
CHAR | M Bytes | (M) [BINARY] | Zeichenkette fester Länge M. Wertebereich für M: 0 bis 255 | ||||
VARCHAR | L+1 Bytes | (M) [BINARY] | Zeichenkette variabler Länge, Maximum ist M. Wertebereich für M: 0 bis 255 | ||||
BINARY | M Bytes | (M) | Zum Speichern binärer Strings, unabhängig vom Zeichensatz 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 | ||||
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 | ||||
ENUM | 1 oder 2 Bytes | ('val1', 'val2', …) | Liste von Werten (val1, val2, …). 65.535 eineindeutige Elemente sind maximal möglich | ||||
SET | x Bytes | ('val1', 'val2', …) | String-Objekt mit verschiedenen Variablen. 64 sind maximal möglich. Speicherbedarf: x ist 1, 2, 3, 4 oder 8 |
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 Wertebereiche von FLOAT und DOUBLE sind gerundet und mathematisch betrachtet ungenau. Wer die Zahlen exakt braucht, schaut bitte in die Dokumentation.
„MySQL Reference Manual“, 2011, › http://dev.mysql.com/doc/