列類型 | 值范圍(有符號;無符號) | 存儲需求 |
TINYINT | -128到127;0到255 | 1個字節(jié) |
SMALLINT | -32768到32767;0到65535 | 2個字節(jié) |
MEDIUMINT | -8388608到8388607;0到16777215 | 3個字節(jié) |
INT, INTEGER | -2147483648到2147483647;0到4294967295 | 4個字節(jié) |
BIGINT | -9223372036854775808到9223372036854775807;0到18446744073709551615 | 8個字節(jié) |
FLOAT(p) | -3.402823466E+38到-1.175494351E-38;0和1.175494351E-38到3.402823466E+38 | 如果0 <= p <= 24為4個字節(jié), 如果25 <= p <= 53為8個字節(jié) |
FLOAT | | 4個字節(jié) |
DOUBLE [PRECISION], item REAL | -1.7976931348623157E+308到-2.2250738585072014E-308;0和2.2250738585072014E-308到 1.7976931348623157E+308 | 8個字節(jié) |
DECIMAL(M,D), NUMERIC(M,D) | | 變長;見注1 |
BIT(M) | 1到64 | 大約(M+7)/8個字節(jié) |
DATE | | 3個字節(jié) |
DATETIME | | 8個字節(jié) |
TIMESTAMP | | 4個字節(jié) |
TIME | | 3個字節(jié) |
YEAR | | 1個字節(jié) |
CHAR(M) | 0到255個字符 | M個字節(jié),0 <= M <= 255 |
VARCHAR(M) | 0到65,535個字符 | L+1個字節(jié),其中L <= M 且0 <= M <= 65535;見注2 |
BINARY(M) | 類似于CHAR類型,保存二進制字節(jié)字符串 | M個字節(jié),0 <= M <= 255 |
VARBINARY(M) | 類似于VARCHAR類型,保存二進制字節(jié)字符串 | L+1個字節(jié),其中L <= M 且0 <= M <= 255 |
TINYBLOB, TINYTEXT | 255(2的8次方–1)字符 | L+1個字節(jié),其中L < 2的8次方 |
BLOB, TEXT | 65,535(2的16次方–1)字符 | L+2個字節(jié),其中L < 2的16次方 |
MEDIUMBLOB, MEDIUMTEXT | 16,777,215(2的24次方–1) 字符 | L+3個字節(jié),其中L < 2的24次方 |
LONGBLOB, LONGTEXT | 4GB(2的32次方–1) 字符 | L+4個字節(jié),其中L < 2的32次方 |
ENUM('value1','value2',...) | ENUM列最多可以有65,535個截然不同的值。ENUM值在內(nèi)部用整數(shù)表示 | 1或2個字節(jié),取決于枚舉值的個數(shù)(最多65,535個值)。枚舉用一個字節(jié),可以有255個可能的值。當(dāng)枚舉的值位于256和65,535之間時,用兩個字節(jié)。 |
SET('value1','value2',...) | SET列最多可以有64個成員。SET值在內(nèi)部用整數(shù)表示 | 1、2、3、4或者8個字節(jié),取決于set成員的數(shù)目(最多64個成員)。如果set大小是N,對象占(N+7)/8個字節(jié),四舍五入到1、2、3、4或者8個字節(jié)。 |
剩余的位數(shù) | 字節(jié)數(shù)目 |
0 | 0 |
1 | 1 |
2 | 1 |
3 | 2 |
4 | 2 |
5 | 3 |
6 | 3 |
7 | 4 |
8 | 4 |
9 | 4 |