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 相关文章推荐
多表查询、事务、DCL
Apr 05 MySQL
如何使用Maxwell实时同步mysql数据
Apr 08 MySQL
MySQL慢查询的坑
Apr 28 MySQL
mysql 8.0.24版本安装配置方法图文教程
May 12 MySQL
MySQL 隔离数据列和前缀索引的使用总结
May 14 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
MySQL 使用索引扫描进行排序
Jun 20 MySQL
mysql 直接拷贝data 目录下文件还原数据的实现
Jul 25 MySQL
MySql子查询IN的执行和优化的实现
Aug 02 MySQL
SQL之各种join小结详细讲解
Aug 04 MySQL
MySQL学习之基础操作总结
Mar 19 MySQL
以MySQL5.7为例了解一下执行计划
Apr 13 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/06/25 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
python测试驱动开发实例
2014/10/08 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
详解windows python3.7安装numpy问题的解决方法
2018/08/13 Python
Python中常用的内置方法
2019/01/28 Python
python hough变换检测直线的实现方法
2019/07/12 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
店铺转让协议书(2014版)
2014/09/23 职场文书
先进工作者申报材料
2014/12/23 职场文书
长城导游词300字
2015/01/30 职场文书
协议书格式模板
2016/03/24 职场文书
MySQL锁机制
2021/04/05 MySQL