MySQL 支持 SQL 标准整数类型 INTEGER(或INT)和 SMALLINT。作为标准的扩展,MySQL 还支持整数类型 TINYINT、MEDIUMINT和 BIGINT。下表显示了每种整数类型所需的存储和范围。
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
tinyint | 1 Bytes | (-128,127) | (0,255) | 极小整数值 |
smallint | 2 Bytes | (-32 768,32 767) | (0,65 535) | 小整数值 |
mediumint | 3 Bytes | (-8 388 608,8 388 607) | (0,16 777 215) | 中等大小整数值 |
int或integer | 4 Bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
bigint | 8 Bytes | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
![]() | 关键字int是integer的同义词, |
根据占用字节数可以求出每一种数据类型的取值范围。例如,TINYINT 需要 1 个字节(8bit)来存储,那么 TINYINT 无符号数的最 大值为 28-1,即 255;TINYINT 有符号数的最大值为 27-1,即 127。其他类型的整数的取值范围计算方法相同,如下表所示。