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批量新增和存储的方法实例
Apr 07 MySQL
MySQL Shell的介绍以及安装
Apr 24 MySQL
解读MySQL的客户端和服务端协议
May 10 MySQL
新手必备之MySQL msi版本下载安装图文详细教程
May 21 MySQL
Mysql 用户权限管理实现
May 25 MySQL
详解MySQL中的主键与事务
May 27 MySQL
MySQL索引是啥?不懂就问
Jul 21 MySQL
Mysql分库分表之后主键处理的几种方法
Feb 15 MySQL
Mysql 数据库中的 redo log 和 binlog 写入策略
Apr 26 MySQL
关于mysql中string和number的转换问题
Jun 14 MySQL
mysql通过group by分组取最大时间对应数据的两种有效方法
Sep 23 MySQL
MySQL索引失效十种场景与优化方案
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
第八节--访问方式
2006/11/16 PHP
php daodb插入、更新与删除数据
2009/03/19 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
基于datagrid框架的查询
2013/04/08 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
Vue中"This dependency was not found"问题的解决方法
2018/06/19 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
Python 正则表达式操作指南
2009/05/04 Python
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python时间获取及转换知识汇总
2017/01/11 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
详解Python的三种拷贝方式
2020/02/11 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
《最大的麦穗》教学反思
2014/04/17 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL