提问:

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位,则不需要补全。

我们建立下面这张表:

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

注意:如果你是用类似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)数值范围内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

更多相关文章

  1. Android学习笔记(10)————Android的Listview详解1(ArrayAdapte
  2. Android(安卓)透明度数值
  3. android dp 和 px 的相互转换
  4. 滑条自动跳转,显示控件的新条目
  5. android显示手机电量
  6. 通过 按钮 bundle 传过来 变换Q币图片
  7. Android加速度传感器数值的过滤
  8. android地图,判断坐标是否在你要求的范围内
  9. android 版本及对应数值

随机推荐

  1. Android 调用摄像头录视频,用前摄像头预览
  2. Toast显示过程详解
  3. Android Studio如何使用GitHub上的开源项
  4. [置顶] Jenkins构建Android项目持
  5. OpenCV学习笔记(六)—— OpenCV for Androi
  6. 安卓设计模式之_观察者模式
  7. 绑定本地Service和远程Service并调用其中
  8. RecycleView的多视图Epoxy库
  9. 在Eclipse中使用aar文件
  10. Android百度地图开发之获取apikey