mysql中int(3)和int(10)的数值范围是否相同


Posted in MySQL onOctober 16, 2021

提问:

mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?

回答:

不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。

如果你的答案和上面的一致,恭喜你和我犯了一样的错误。

真实情况:

int类型整数占4个字节,有符号的范围为:-2^31 ~ 2^31-1,无符号整数范围为:0 ~ 2^32-1,既然都是无符号整数,那么存储范围是一样的,int(6)只是在数字不够6位时用0补全,如果超过6位,则不需要补全。

mysql中int(3)和int(10)的数值范围是否相同

我们建立下面这张表:

drop table if exists test;
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `a` int(11) NOT NULL,
  `b` int(11) unsigned zerofill NOT NULL,
  `c` int(5) DEFAULT NULL,
  `d` int(5) unsigned zerofill NOT NULL,
  `e` int(15) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

插入一些数据后,用cmd命令行查看:

mysql> select * from test;
+----+------------+-------------+------------+------------+------------+
| id | a          | b           | c          | d          | e          |
+----+------------+-------------+------------+------------+------------+
|  1 |          1 | 00000000001 |          1 |      00001 |          1 |
|  2 | 1234567890 | 01234567890 | 1234567890 | 1234567890 | 1234567890 |
+----+------------+-------------+------------+------------+------------+

发现,无论是int(3), int(6), 都可以显示6位以上的整数。但是,当数字不足3位或6位时,前面会用0补齐。

注意:如果你是用类似navicat这种工具看,不会补充0,可能做了处理,需要用mysql cmd命令行才能看到这种效果。

查下手册,解释是这样的:

MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。

也就是说,int的长度并不影响数据的存储精度,长度只和显示有关,为了让大家看的更清楚,我们在上面例子的建表语句中,使用了zerofill。

知识点

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。下面的表显示了需要的每个整数类型的存储和范围。

结论:

无论是unsigned int(3)或 unsiend int(6),存储的都是4字节无符号整数, 也就是0~2^32。

总结

到此这篇关于mysql中int(3)和int(10)的数值范围是否相同的文章就介绍到这了,更多相关mysql int(3)和int(10)数值范围内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL令人咋舌的隐式转换
Apr 05 MySQL
多表查询、事务、DCL
Apr 05 MySQL
MySQL命令行操作时的编码问题详解
Apr 14 MySQL
MySQL查看表和清空表的常用命令总结
May 26 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL通过binlog恢复数据
May 27 MySQL
MySQL 外键约束和表关系相关总结
Jun 20 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
Apr 02 MySQL
排查MySQL生产环境索引没有效果
Apr 11 MySQL
解决MySQL报“too many connections“错误
Apr 19 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
MySQL数据库实验之 触发器和存储过程
Jun 21 MySQL
深入解析MySQL索引数据结构
MySQL数据库必备之条件查询语句
Oct 15 #MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
MySQL数据库超时设置配置的方法实例
MyBatis 动态SQL全面详解
MySQL中datetime时间字段的四舍五入操作
mysql如何能有效防止删库跑路
Oct 05 #MySQL
You might like
php结合正则获取字符串中数字
2015/06/19 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
关于document.cookie的使用javascript
2008/04/11 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python实现自动上京东抢手机
2018/02/06 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
python批量处理文件或文件夹
2020/07/28 Python
python实现机器人卡牌
2019/10/06 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
学生安全承诺书
2014/05/22 职场文书
公司股份合作协议书
2014/12/07 职场文书
营销计划书范文
2015/01/17 职场文书
新闻报道稿范文
2015/07/23 职场文书
优秀志愿者感言
2015/08/01 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Python办公自动化之Excel(中)
2021/05/24 Python