MySQL数据库中int 长度最大是多少?

MySQL数据库中int 长度最大是多少?,第1张

int最大长度是11位。

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。

如果在建表时不指定字段int类型的长度时,系统则默认生成长度为11的字段。11也是int类型的最大长度,其中第一位表示符号+或者-,后面十位表示数字。

如果指定了长度,该字段其实也是长度为11的字段,因为只要是int类型,系统都分配了长度11位。

扩展资料

MySQL的数据类型:

整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

浮点数类型:FLOAT、DOUBLE、DECIMAL

字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

日期类型:Date、DateTime、TimeStamp、Time、Year

其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

参考资料:百度百科-MySQL

不是,首先int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M)

所占多少存储空间并无任何关系。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。1bytes占8字节,4bytes就是32位,而1字节不是0就是1,因此4bytes最高是11111111111111111111111111111111,而最高位的1代表负号,因此正数时最高位要用0,转化成十进制就是2,147,483,647,同理最小负数是-2,147,483,647,mysql默认int是有符号的,无符号时最大值是2^32

Mysql 建表过程中:

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 类型的范围后,我们再来看看长度是什么意思。 在MySQL手册中,字段类型的长度用 “M” 表示,表示最大显示宽度。 int 的 最大有效显示宽度是 255。 注意: 此处表示 显示宽度 和 存储大小或类型及范围 无关

参考:

1、 https://blog.csdn.net/weixin_33695082/article/details/92011222


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7270767.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存