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优化之如何写出高质量sql语句
May 17 MySQL
Mysql官方性能测试工具mysqlslap的使用简介
May 21 MySQL
MySQL查看表和清空表的常用命令总结
May 26 MySQL
MySQL注入基础练习
May 30 MySQL
浅析MySQL如何实现事务隔离
Jun 26 MySQL
Mysql分库分表之后主键处理的几种方法
Feb 15 MySQL
MySQL数据库完全卸载的方法
Mar 03 MySQL
数据分析数据库ClickHouse在大数据领域应用实践
Apr 03 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
Apr 11 MySQL
mysql中如何用命令创建联合唯一索引
Apr 20 MySQL
mysql性能优化以及配置连接参数设置
May 06 MySQL
Mysql将字符串按照指定字符分割的正确方法
May 30 MySQL
深入解析MySQL索引数据结构
MySQL数据库必备之条件查询语句
Oct 15 #MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
MySQL数据库超时设置配置的方法实例
MyBatis 动态SQL全面详解
MySQL中datetime时间字段的四舍五入操作
mysql如何能有效防止删库跑路
Oct 05 #MySQL
You might like
php学习之变量的使用
2011/05/29 PHP
php中mysql模块部分功能的简单封装
2011/09/30 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
js实现轮播图特效
2020/05/28 Javascript
Python 文件和输入输出小结
2013/10/09 Python
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
python实现windows下文件备份脚本
2018/05/27 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
英国假发网站:Hothair
2018/02/23 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
迟到检讨书400字
2014/01/13 职场文书
《王二小》教学反思
2014/02/27 职场文书
企业诚信承诺书
2014/05/23 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
毕业实习计划书
2015/01/16 职场文书
食品安全责任书范本
2015/05/09 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
Nginx配置Https安全认证的实现
2021/05/26 Servers
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android