Zahlen
Zahlen-Datentypen in mySQL
Name Verbrauch/Bytes Start Stop Größe aka
TINYINT 1 -128 127 255
SMALLINT 2 -32768 32767 65535
MEDIUMINT 3 -8388608 8388607 16777215
INT 4 -2147483648 2147483647 4294967295
BIGINT 8 -9,22337203685478E+018 9,22337203685478E+018 1,84467440737096E+019
FLOAT 4 10,2
DOUBLE 8 16,4 REAL
DECIMAL 4 für 9 Stellen NUMERIC
BIT Länge +7 / 8 Bytes
Zeichenketten
String-Datentypen in mySQL
Name Verbrauch/Bytes Anmerkungen max Zeichen mehr Anmerkungen aka
CHAR 1 Für fix lange Felder 255 Länge definieren! UTF-8 ist ein Multibyte-Charset, gewöhnlich 4 Bytes / Character
BINARY 1 Länge definieren! UTF-8 ist ein Multibyte-Charset, gewöhnlich 4 Bytes / Character
VARCHAR L + 1 Bytes bei
Spaltenwerten von
0 − 255 Bytes,
L + 2 Bytes bei
Spaltenwerten
größer 255 Bytes Für variabel lange Felder 255 Länge definieren! UTF-8 ist ein Multibyte-Charset, gewöhnlich 4 Bytes / Character
VARBINARY L + 1 Bytes bei
Spaltenwerten von
0 − 255 Bytes,
L + 2 Bytes bei
Spaltenwerten
größer 255 Bytes Länge definieren! UTF-8 ist ein Multibyte-Charset, gewöhnlich 4 Bytes / Character
TINYTEXT L + 1 Bytes 255 keine Länge definieren
TEXT L + 2 Bytes 65535 keine Länge definieren
MEDIUMTEXT L + 3 Bytes 16777215 keine Länge definieren
LONGTEXT L + 4 Bytes 4294967295 keine Länge definieren
Binary Large Objects, BLOBs
BLOB-Datentypen in mySQL
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
Der BLOB bietet die Möglichkeit, Binärdaten wie Bilder oder ähnliches in der Datenbank zu speichern. Das ist immer eine schlechte Idee, weil es auf dem falschen Server Speicherplatz frisst, kann aber helfen, falls man die Bilder an einer Stelle braucht, wo kein Zugriff zum Webserver-Speicherplatz ist (whut!?).
Zu denen hier mache ich keine Anmerkungen / Größenangaben, weil oben und der BLOB ein klein wenig mehr Platz verbraucht, als er groß ist.
Diese Zusammenstellung als formschönes pdf herabladen (Achtung, Medienbruch!)