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
详解MySQL 用户权限管理
Apr 20 MySQL
Mysql服务添加 iptables防火墙策略的方案
Apr 29 MySQL
记一次Mysql不走日期字段索引的原因小结
Oct 24 MySQL
MySQL 数据类型详情
Nov 11 MySQL
mysql创建存储过程及函数详解
Dec 04 MySQL
MySQL中一条SQL查询语句是如何执行的
Apr 08 MySQL
MySQL的存储函数与存储过程的区别解析
Apr 08 MySQL
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
Apr 18 MySQL
MySQL数据库 任意ip连接方法
May 20 MySQL
MySQL聚簇索引和非聚簇索引的区别详情
Jun 14 MySQL
了解MySQL查询语句执行过程(5大组件)
Aug 14 MySQL
深入解析MySQL索引数据结构
MySQL数据库必备之条件查询语句
Oct 15 #MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
MySQL数据库超时设置配置的方法实例
MyBatis 动态SQL全面详解
MySQL中datetime时间字段的四舍五入操作
mysql如何能有效防止删库跑路
Oct 05 #MySQL
You might like
扩展你的 PHP 之入门篇
2006/12/04 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
js中this用法实例详解
2015/05/05 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
简单谈谈Python中的json与pickle
2017/07/19 Python
python 图片去噪的方法示例
2019/07/09 Python
python返回数组的索引实例
2019/11/28 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
Python调用JavaScript代码的方法
2020/10/27 Python
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
实习生自荐信范文分享
2013/11/27 职场文书
委托证明的格式
2014/01/10 职场文书
保密协议书范本
2014/04/22 职场文书
安全承诺书格式
2014/05/21 职场文书
医院病假条怎么写
2015/08/17 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python