在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并没有任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不一样外,int(M) 跟 int 数据类型是相同的。
若是int的值为10
int(10)显示结果为0000000010
int(3)显示结果为010
就是显示的长度不同而已 都是占用四个字节的空间
知识点
int(M) 中的M指示最大显示宽度,最大有效显示宽度是 255,且显示宽度与存储大小或类型包含的值的范围无关。
首先说一下 MySQL 的数值类型,MySQL 支持所有标准 SQL 数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。关键字 INT 是 INTEGER 的同义词,关键字 DEC 是DECIMAL 的同义词。
BIT 数据类型保存位字段值,并且支持 MyISAM、MEMORY、InnoDB 和 BDB表。 作为 SQL 标准的扩展,MySQL 也支持整数类型TINYINT、MEDIUMINT 和 BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
MySQL 类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
当结合可选扩展属性 ZEROFILL 使用时, 默认补充的空格用零代替。例如,对于声明为 INT(5) ZEROFILL 的列,值 4 检索为 00004。请注意如果在整数列保存超过显示宽度的一个值,当 MySQL 为复杂联接生成临时表时会遇到问题,因为在这些情况下 MySQL 相信数据适合原列宽度。
所有整数类型可以有一个可选(非标准)属性 UNSIGNED。当你想要在列内只允许非负数和该列需要较大的上限数值范围时可以使用无符号值。
总结
所以,int(2) 与int(11)后的括号中的字符表示显示宽度,整数列的显示宽度与 MySQL 需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,int类型的字段能存储的数据上限依旧是2147483647(有符号型)和4294967295(无符号型)。
扩展:
1.BIT[M]
位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1
2.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4
很小的整数。带符号的范围是-128到127。无符号的范围是0到255。
BOOL,BOOLEAN
是TINYINT(1)unsigned的同义词。zero值被视为假。非zero值视为真。范围是-128到127
4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6
小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9
中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
INT[(M)] [UNSIGNED][ZEROFILL] M默认为11
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20
大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。
mysql中int(10)表明什么意思?
admin
2022-06-20 16:17:45
¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏
本文《mysql中int(10)表明什么意思?》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/html/Database/870.html,否则禁止转载,谢谢配合!
您可能感兴趣
阅读排行
- 1mysql中int、bigint、smallint 和 tinyint的区别详细介绍
- 2mysql force index 语法_MySQL FORCE INDEX 强制索引使用
- 3怎样才能写出高质量的SQL语句?
- 4mysql中int(10)表明什么意思?
- 5Mysql解决SELECT list is not in GROUP BY clause and contains nonaggregated column 问题
- 6thinkphp连接数据库报错:“SQLSTATE[HY000] [2002] No such file or director” 的解决办法
- 7mysql的YEARWEEK(date, mode) 函数详解
- 8 MySQL拆分一个字段到另外一个字段
- 9MySQL中如何对varchar字段进行数字排序
- 10【转载】MySQL索引介绍
小程序插件
站长推荐
-
-
-
百度小程序审核被拒原因--汇总各种奇葩原因
- 587
-
-
-
重新对百度支付进行编写封装(百度智能小程序支付)
- 424
-
-
-
phpcms小程序插件api接口升级到4.3
- 869
-

添加微信好友
文章点评