视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL学习笔记_关于MySQL的整数类型字段长度知识总结_MySQL
2020-11-09 18:03:23 责编:小采
文档
 bitsCN.com

MySQL学习笔记_关于MySQL的整数类型字段长度知识总结

下表显示MySQL整数类型的存储和范围:

MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。(类似使用LPAD函数效果)

在INT(M) 中, M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关.如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性.

显示宽度并不可以在列内保存的值的范围,也不超过列的指定宽度的值的显示。
当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。

[以上内容摘自MySQL官方中文翻译文档]

以下是测试ZEROFILL属性补充零的实例:

1.首先通过语句创建测试表

CREATE TABLE `test_intzerofill` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`cash_id` int(6) unsigned zerofill NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

如果使用Navicat 工具可视化创建表,如下图所示,选中“填充零”即可.(保存时会自动将“无符号”勾选上)。

2.添加测试数据

INSERT INTO test_intzerofill VALUES ('1', '1');

INSERT INTO test_intzerofill VALUES ('2', '22');

INSERT INTO test_intzerofill VALUES ('3', '333');

INSERT INTO test_intzerofill VALUES ('4', '1234567');

INSERT INTO test_intzerofill VALUES ('5', '12345670');

3.在Navicat 工具中查看表记录时,工具会自动把补充的零去掉。

但通过MySQL自带的客户端工具“MySQL 5.5 Command Line Client” 查询时,则会把补充的零显示出来(如下面的右图所示)。

4.相应的在Java程序中则需要把其转换成字符串类型才可将其补充的零显示出来。

5.使用Navicat工具将表数据导出时,补充的零也会被带上。

附:使用LPAD函数示例:

bitsCN.com

下载本文
显示全文
专题