MYSQL对于整型的划分应该说是最细致的,总共分了5档,由小到大分别是:TINYINT 、 SMALLINT 、MEDIAINT 、INT 、 BIGINT。BOOL类型和BIT类型也可以看做TINYINT(1),但此处还是暂时忽略不计。因为之前习惯了Oracle中一个number就搞定所有数值的方式,所以最初这超细粒度的类型划分还是给我带来了不小的困惑。
TINYINT[(M)][UNSIGNED][ZEROFILL]
一个微小整数。-128–127(SIGNED);0–255(UNSIGNED),需要一个字节的存储。
SMALLINT[(M)][UNSIGNED][ZEROFILL]
一个小整数。从 -2^15 (-32768) 到 2^15 – 1 (32767) 的整型数据。存储大小为 2 个字节。
MEDIAINT[(M)][UNSIGNED][ZEROFILL]
一个中等整数。从 -2^23 (8388608) 到 2^23 – 1 (8388607) 的整型数据。存储大小为 3 个字节。
INT[(M)][UNSIGNED][ZEROFILL]
从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
BIGINT[(M)][UNSIGNED][ZEROFILL]
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
说明:
M的含义:
M indicates the maximum display width for integer types. The maxim