Type {storage} |
Name |
Range |
Attributes |
Default |
Numeric {1 byte} |
TINYINT [(M)] |
-From 128 TO 127 [0 to 255 if UNSIGNED] |
AUTO_INCREMENT UNSIGNED, ZEROFILL, SERIAL DEFAULT VALUE |
NULL [0 if not null] |
Numeric {2 bytes} |
SMALLINT [(M)] |
-From 32,768 to 32,767 [1 to 65,535] |
AUTO_INCREMENT, UNSIGNED, ZEROFILL, SERIAL DEFAULT VALUE |
NULL [0 if not null] |
Numeric {3 bytes} |
MEDIUMINT [(M)] |
-From 8,388,608 to 8,388,607 [1 to 16,777,215] |
AUTO_INCREMENT, UNSIGNED, ZEROFILL, SERIAL DEFAULT VALUE |
NULL [0 if not null] |
Numeric {4 bytes} |
INT [(M)] |
-/+ 2.147E + 9 [0 to 4.294E + 9] |
AUTO_INCREMENT, UNSIGNED, ZEROFILL, SERIAL DEFAULT VALUE |
NULL [0 if not null] |
Numeric {8 bytes} |
BIGINT [(M)] |
-/+ 9.223E + 18 [0 to 18.45E + 18] |
AUTO_INCREMENT, UNSIGNED, ZEROFILL, SERIAL DEFAULT VALUE |
NULL [0 if not null] |
Numeric {4 or 8} |
FLOAT (p) |
P = 0-24 --> "FLOAT" P = 25-53 --> "DOUBLE" |
UNSIGNED, ZEROFILL |
NULL [0 if not null] |
Numeric {4 bytes} |
FLOAT [(M, D)] |
Min = +/-1.175E-38 Max = +/-3.403E + 38 |
UNSIGNED, ZEROFILL |
NULL [0 if not null] |
Numeric {8 bytes} |
DOUBLE [(M, D)] |
Min = +/-2.225E-308 Max = +/-1.798E + 308 |
UNSIGNED, ZEROFILL |
NULL [0 if not null] |
Numeric {M + 2} |
DECIMAL [(M, [D])] Stored as string |
Max Range = DOUBLE range Fixed point vs. DOUBLE float |
UNSIGNED, ZEROFILL |
NULL [0 if not null] |
Bit {8 bytes} |
BIT [(M)] |
Binary. Display by [add zero or converting with BIN ()]. M = 1-64 |
Prior to 5.03 TINYINT (1) Synonym |
NULL [0 if not null] |
String {M char's} |
CHAR [(M)] |
M = 0-255 Characters, FIXED. Right padded with spaces. |
BINARY, CHARACTER SET |
NULL ["" If not null] |
String {M char 'S1} |
VARCHAR (M) |
M = 0-65,535 Characters MB = 0-255 |
BINARY, CHARACTER SET |
NULL ["" If not null] |
String {# Char 'S1} |
TINYTEXT2 |
0-255 Characters |
BINARY, CHARACTER SET |
NULL ["" If not null] |
String {# Char 'S1} |
TEXT2 |
0-65,535 Char's |
BINARY, CHARACTER SET |
NULL ["" If not null] |
String {# Char 'S1} |
MEDIUMTEXT2 |
0-16,777,215 Char's |
BINARY, CHARACTER SET |
NULL ["" If not null] |
String {# Char 'S1} |
LONGTEXT2 |
0-4,294,967,295 Char's |
BINARY, CHARACTER SET |
NULL ["" If not null] |
String {M bytes} |
BINARY [(M)] |
M = 0-255 bytes, FIXED. |
Global Only (Case sensitive) |
NULL ["" If not null] |
String {M bytes} |
VARBINARY (M) |
0-65,535 bytes MB = 0-255 |
Global Only (Case sensitive) |
NULL ["" If not null] |
String {# Bytes1} |
TINYBLOB |
0-255 bytes |
Global Only (Case sensitive) |
NULL ["" If not null] |
String {# Bytes1} |
BLOB |
0-65,535 bytes |
Global Only (Case sensitive) |
NULL ["" If not null] |
String {# Bytes1} |
MEDIUMBLOB |
0-16,777,215 bytes |
Global Only (Case sensitive) |
NULL ["" If not null] |
String {# Bytes1} |
LONGBLOB |
0-4,294,967,295 bytes |
Global Only (Case sensitive) |
NULL ["" If not null] |
String {1-2 bytes} |
ENUM2 ("A1", "A2 ",...) |
Column is exactly 1 of 1-65,535 values |
CHARACTER SET |
NULL [1st value if not null] |
String {1-8 bytes} |
SET2 ("A1", "A2 ",...) |
Column is 0 or more values in list of 1-64 members |
CHARACTER SET |
NULL ["" If not null] |
Date & Time {3 bytes} |
DATE |
1000-01-01 "-" 9999-12-31" |
Global Only YYYY-MM-DD) |
NULL ["0000-00-00" if not null] |
Date & Time {8 bytes} |
DATETIME |
"1000-01-01 00:00:00 "- 9999-12-31 23:59:59" |
Global Only YYYY-MM-DD hh: mm: ss) |
NULL ["0000-00-00 00:00:00" If not null] |
Date & Time {3 bytes} |
TIME |
"-838: 59: 59"-"838: 59: 59" |
Global Only (Hh: mm: ss) |
NULL ["00:00:00" if not null] |
Date & Time {4 bytes} |
TIMESTAMP |
19700101000000- 2037 + |
Global Only (YYYYMMDDhhmmss) |
Current Date & Time |
Date & Time {1 bytes} |
YEAR |
1900-2155 |
Global Only (YYYY) |
NULL ["0000" if not null] |