MySQL Data Type Reference

In MySQL gibt es drei Haupttypen: Text, Zahl, und Datum/Zeit

Text

Datentyp Beschreibung
CHAR(size) Fasst eine Zeichenfolge fester Länge (kann Buchstaben, Zahlen und Sonderzeichen enthalten). Die feste Grösse wird in Klammern angegeben. Kann bis zu 255 Zeichen speichern.
VARCHAR(size) Fasst eine Zeichenfolge variabler Länge (kann Buchstaben, Zahlen und Sonderzeichen enthalten). Die maximale Grösse wird in Klammern angegeben. Kann bis zu 255 Zeichen speichern. Beachte: Wenn du einen Wert grösser als 255 angibst, wird es in den Typ TEXT konvertiert.
TINYTEXT Fasst eine Zeichenfolge mit maximaler Länge von 255 Zeichen.
TEXT Fasst eine Zeichenfolge mit maximaler Länge von 65’535 Zeichen = 216
BLOB BLOBs (Binary Large OBjects). Fasst Daten bis zu 65’535 Bytes = 64KB
MEDIUMTEXT Fasst eine Zeichenfolge mit maximaler Länge von 16’777’215 Zeichen  = 224
MEDIUMBLOB BLOBs (Binary Large OBjects). Fasst Daten bis zu 16’777’215 Bytes = 16MB
LONGTEXT Fasst eine Zeichenfolge mit einer maximalen Länge con 4’294’967’295 Zeichen = 232
LONGBLOB BLOBs (Binary Large OBjects). Fasst Daten bis zu 4’294’967’295 Bytes = 4GB
ENUM(x,y,z,etc.) Eine Liste der möglichen Werte. Du kannst bis zu 65’535 Werte in einer ENUM auflisten. Wenn einen Wert eingegeben wird, der nicht in der Liste ist, wird einen Leerwert eingefügt.

Beachte: Die Werde sind in der Reihenfolge sortiert in der du sie eingibst.

SET Ähnlich wie ENUM, ausser dass SET bis zu 64 Listenelemente enthalten und mehr als eine Auswahl speichern kann.

Zahlen

Datentyp Beschreibung
TINYINT(size) -128 bis 127 normal. 0 bis 255 UNSIGNED*. Die maximale Anzahl Ziffern werden in den Klammern angegeben. (28)
SMALLINT(size) -32’768 bis 32’767 normal. 0 bis 65’535 UNSIGNED*. Die maximale Anzahl Ziffern werden in den Klammern angegeben. (216)
MEDIUMINT(size) -8’388’608 bis 8’388’607 normal. 0 bis 16’777’215 UNSIGNED*. Die maximum Anzahl Ziffern werden in den Klammern angegeben. (224)
INT(size) -2’147’483’648 bis 2’147’483’647 normal. 0 bis 4’294’967’295 UNSIGNED*. Die maximum Anzahl Ziffern werden in den Klammern angegeben. (232)
BIGINT(size) -9’223’372’036’854’775’808 bis 9’223’372’036’854’775’807 normal. 0 bis 18’446’744’073’709’551’615 UNSIGNED*. Die maximum Anzahl Ziffern werden in den Klammern angegeben. (264)
FLOAT(size,d) Eine kleine Zahl mit einem fliessenden Dezimalpunkt. Die maximale Anzahl von Ziffern kann im Parameter size angegeben werden. Die maximale Anzahl der Ziffern rechts vom Dezimalpunkt wird im Parameter d festgelegt.
DOUBLE(size,d) Eine grosse Zahl mit einem fliessenden Dezimalpunkt. Die maximale Anzahl von Ziffern kann im Parameter size angegeben werden. Die maximale Anzahl der Ziffern rechts vom Dezimalpunkt wird im Parameter d festgelegt.
DECIMAL(size,d) Ein DOUBLE wird als Zeichenfolge gespeichert was einen festen Dezimalpunkt ermöglicht. Die maximale Anzahl von Ziffern kann im Parameter size angegeben werden. Die maximale Anzahl der Ziffern rechts vom Dezimalpunkt wird im Parameter d festgelegt.

*Die Integer-Typen haben eine zusätzliche Option namens UNSIGNED. Normalerweise geht die Ganzzahl von einem negativen zu einem positiven Wert. Das Hinzufügen des UNSIGNED-Attributs verschiebt diesen Bereich, so dass er bei Null statt einer negativen Zahl beginnt.

Zeit

Datentyp Beschreibung
DATE() Ein Datum. Format: YYYY-MM-DD Beachte: Der unterstützte Umfang ist von ‚1000-01-01‘ bis ‚9999-12-31‘
DATETIME() *Eine Datum und Zeit Kombination. Format: YYYY-MM-DD HH:MI:SS Beachte: Der unterstützte Umfang ist von ‚1000-01-01 00:00:00‘ bis ‚9999-12-31 23:59:59‘
TIMESTAMP() *Ein Zeitstempel. TIMESTAMP Werte werden als Anzahl Sekunden seit der Unix Epoche  (‚1970-01-01 00:00:00‘ UTC) gespeichert. Format: YYYY-MM-DD HH:MI:SS Beachte: Der unterstützte Umfang ist von ‚1970-01-01 00:00:01‘ UTC bis ‚2038-01-09 03:14:07‘ UTC
TIME() Eine Zeit. Format: HH:MI:SS Beachte: Der unterstützte Umfang ist von‘-838:59:59′ bis ‚838:59:59‘
YEAR() Ein Jahr in zweistelligem oder vierstelligem Format Beachte: Erlaubte Werte im vierstelligen Format: 1901 bis 2155. Erlaubte Werte im zweistelligen Format: 70 bis 69, entsprechend den Jahren von 1970 bis 2069

*Obwohl DATETIME und TIMESTAMP das gleiche Format zurückgeben, funktionieren sie sehr unterschiedlich. In einer INSERT- oder UPDATE-Abfrage stellt sich das TIMESTAMP automatisch auf das aktuelle Datum und die aktuelle Uhrzeit ein. TIMESTAMP akzeptiert auch andere Formate, wie YYYYMMDDHHMISS, YYMMDDHHMISS, YYYYMMDD oder YYMMDD.