1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > int 长度 mysql_MySQL int 类型的长度和范围解惑

int 长度 mysql_MySQL int 类型的长度和范围解惑

时间:2021-09-26 04:29:07

相关推荐

int 长度 mysql_MySQL int 类型的长度和范围解惑

开发过程中,新来的小朋友问到: MySQL见表过程中,字段类型为int的长度是什么意思?最大值是 999999999 吗?

虽然知道 int(1) 这个并不表示只能表示 0-9 等,但是替换到 int(11) 的时候思维有时候会缓不过来,直到有一次需求要求 指定字符长度 的时候才恍然大悟, int(6) 就是 000001 ~ 099999 等等,但是依旧可以表示 12345678 等数字

提问

Mysql 建表过程中:

字段类型int的长度代表什么?

是表示值的最大宽度吗?或者是位数吗?

为什么 int(1) 的时候我可以存储 100、10000、100000 呢,甚至可以存储 2147483647 呢?

为什么 Int(1) 的时候我不能存储 4294967295 而可以存储 2147483647 ?

分析

MySQL中int类型占用4个字节[byte(B)],1B有8个位[bit(b)],一个位(b)就代表一个0或者1,那么MySQL中int占用4B,对应位就是 4*8b = 32b 了,也就是说 int 表示的数字 个数 是: 2的32次方。

因为字节分有符号和无符号两种,于是 int 有符号 的 范围就是 -2的31次方 到 2的31次方减去1 [?1 为什么不是32次方?] [?2 为什么要减去1?],即 -2147483648 ~ 2147483647; int 无符号(unsigned) 的 范围就是 0 到 2的32次方减去1。

知道了 int 类型的范围后,我们再来看看长度是什么意思。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。