大家好,我们聊一聊数据库的int类型。数据库的int类型分为很多种。
备注:
1bytes = 8bit 下面分别使用的是 8 16 24 32 64 bit 存储空间,
signed
存储值得范围是-2^(n-1) 到 2^(n-1)-1,其中n是存储空间的位数。
unsigned
存储值得范围是0到 2^(n)-1,其中n是存储空间的位数。
名称 | bit | bytes | unsigned | signed |
---|---|---|---|---|
tinyint(极小int) | 8 | 1 | 0~255 | -128 ~ 127 |
smallint(小int) | 16 | 2 | 0-65535 | -32768~32767 |
mediumint(中int) | 24 | 3 | 0~16777215 | -8388608~8388607 |
int | 32 | 4 | 0~4294967295 | -2147483648~2147483647 |
bigint(大int) | 64 | 8 | 0~ 2^(n)-1 | -2^(n-1) ~2^(n-1)-1 |
- signed 和 unsigned 使用相同的存储空间,并具有相同的性能,可以根据实际的情况选择
- mysql 可以为整数指明宽度,对于多大数的应用没有意义,它不会限制值得合法的范围。对于存储和计算来说,int(1)和int(11) 是一样的。