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 角色(role)功能介绍
Apr 24 MySQL
一篇文章弄懂MySQL查询语句的执行过程
May 07 MySQL
Mysql数据库按时间点恢复实战记录
Jun 30 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
Arthas排查Kubernetes中应用频繁挂掉重启异常
Feb 28 MySQL
MySQL的InnoDB存储引擎的数据页结构详解
Mar 03 MySQL
解决MySQL添加新用户-ERROR 1045 (28000)的问题
Mar 03 MySQL
面试提问mysql一张表到底能存多少数据
Mar 13 MySQL
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
Apr 18 MySQL
CentOS MySql8 远程连接实战
Apr 19 MySQL
MySQL中的全表扫描和索引树扫描
May 15 MySQL
MySQL使用IF语句及用case语句对条件并结果进行判断 
Sep 23 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
php购物车实现方法
2015/01/03 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
xml和web特殊字符
2009/04/28 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
python使用scrapy解析js示例
2014/01/23 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
python安装scipy的方法步骤
2019/06/26 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
体育课课后反思
2014/04/24 职场文书
银行催款通知书
2015/04/17 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL