MySQL中int (10) 和 int (11) 的区别


Posted in MySQL onJanuary 22, 2022

mysql 中整数数据类型:

MySQL中int (10) 和 int (11) 的区别

不同类型的取值范围:

MySQL中int (10) 和 int (11) 的区别

不同数据类型的默认v显示宽度:

MySQL中int (10) 和 int (11) 的区别

显示的宽度跟负号没有关系,它只在人工设置了 ZEROFILL 属性有效。一旦人工设置了 ZEROFILL 属性,MySQL 会自动设置 UNSIGNED 属性(即 ZEROFILL 不能存储负数)。

那取值范围和显示宽度到底有什么关系呢?利用 tinyint 做了个实验,

首先创建一张表如下:

mysql> desc test_integer;
+-----------+------------+------+-----+---------+----------------+
| Field     | Type       | Null | Key | Default | Extra          |
+-----------+------------+------+-----+---------+----------------+
| id        | int(11)    | NO   | PRI | NULL    | auto_increment |
| test_id_1 | tinyint(1) | NO   |     | NULL    |                |
| test_id_2 | tinyint(4) | NO   |     | NULL    |                |
+-----------+------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

我分别创建了有符号 tinyint 类型的 test_id_1 显示宽度为 1 和 test_id_2 显示宽度为 4 两字段,接下来插入数据,同时插入 - 128、1 和 127 这些数值,看看会怎么样。

mysql> insert into test_integer (test_id_1,test_id_2) values (-128,-128), (1,1), (127,127);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

ok 提示插入成功,我们查询一下

mysql> select * from test_integer;
+----+-----------+-----------+
| id | test_id_1 | test_id_2 |
+----+-----------+-----------+
|  1 |      -128 |      -128 |
|  2 |         1 |         1 |
|  3 |       127 |       127 |
+----+-----------+-----------+
3 rows in set (0.00 sec)

查询出来的结果也是一样,经过以上实验得到结论:
显示宽度整数类型的取值范围是无关的。显示宽度只是指明 mysql 最大可能显示的数字个数,数值的位数小于指定的宽度时左侧用数字 0 填充。
如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。

同理,所以 int (10) 和 int (11) 无任何区别,就是显示宽度不同。在存储方面确实没什么不同,设置长度只有在设置了自动填充 ZEROFILL 的时候才体现出来, 比如 id=1 长度为 int (5) 的话会显示 00001。
Mysql 可以为整数类型指定宽度,例如 INT (11),对大多数应用这是没有意义的:他不会限制值的合法范围,只是规定了 Mysql 的一些交互工具,如 Mysql 命令行客户端,用来显示字符的个数。对于存储和运算来说, INT (1) 和 INT (8) 是相同的。
是的,设置自动填充的时候用来显示补充0有点 用而已

到此这篇关于MySQL中int (10) 和 int (11) 的区别的文章就介绍到这了,更多相关MySQL int (10) 和 int (11) 的区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL Shell的介绍以及安装
Apr 24 MySQL
Navicat连接MySQL错误描述分析
Jun 02 MySQL
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
Jun 18 MySQL
mysql联合索引的使用规则
Jun 23 MySQL
MYSQL 表的全面总结
Nov 11 MySQL
MySQL中varchar和char类型的区别
Nov 17 MySQL
Pycharm远程调试和MySQL数据库授权问题
Mar 18 MySQL
如何创建一个创建MySQL数据库中的datetime类型
Mar 21 MySQL
Nebula Graph解决风控业务实践
Mar 31 MySQL
Mysql调整优化之四种分区方式以及组合分区
Apr 13 MySQL
mysql如何查询连续记录
May 11 MySQL
postgresql如何找到表中重复数据的行并删除
May 08 MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
MySQL创建定时任务
Jan 22 #MySQL
SQL基础查询和LINQ集成化查询
Jan 18 #MySQL
MySQL常见优化方案汇总
Jan 18 #MySQL
mysql sum(if())和count(if())的用法说明
SQL语法CONSTRAINT约束操作详情
Jan 18 #MySQL
MySQL笔记 —SQL运算符
Jan 18 #MySQL
You might like
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
javascript中对对层的控制
2006/12/29 Javascript
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
[04:30]显微镜下的DOTA2第五期——拉比克
2013/09/26 DOTA
python小技巧之批量抓取美女图片
2014/06/06 Python
Python实现二分法算法实例
2015/02/02 Python
Python中的ctime()方法使用教程
2015/05/22 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
体育教育专业毕业生自荐信
2013/11/15 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
公司演讲稿开场白
2014/08/25 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
2016年端午节寄语
2015/12/04 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
MYSQL 表的全面总结
2021/11/11 MySQL