推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Redis】
总结——》【Kafka】
总结——》【Spring】
总结——》【SpringBoot】
总结——》【MyBatis、MyBatis-Plus】
总结——》【Linux】
总结——》【MongoDB】
总结——》【Elasticsearch】
类型 | 单位(字节) | 有符号取值范围 | 无符号取值范围 |
---|---|---|---|
tinyint | 1 | -128 ~ 127 | 0 ~ 255 |
smallint | 2 | -32768 ~ 32767 | 0 ~ 65535 |
mediumint | 3 | -8388608 ~ 8388607 | 0 ~ 16777215 |
int | 4 | -2147483648 ~ 2147483647 | 0 ~ 4294967295 |
integer | 4 | -2147483648 ~ 2147483647 | 0 ~ 4294967295 |
bigint | 8 | -9223372036854775808 ~ 9223372036854775807 | 0 ~ 18446744073709551615 |
1、UNSIGNED:无符号
表示不允许负值
。
不同:
2、ZEROFILL:填充零
如果数据宽度小于指定长度,则在数字前面填充零'0'
。
当使用zerofill 时,默认会自动加unsigned(无符号)属性。
3、长度
数值类型设置的长度并不影响该数值字段的取值范围
,只是规定了用来显示字符的个数
。
长度只有在设置 ZEROFILL
即 “填充零” 后才有所意义。
比如 int(3) 存储 1 ,填充零时会填充为 001。
CREATE TABLE `test` (
`num` int(3) DEFAULT NULL,
`num_zerofill` int(3) unsigned zerofill DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试';
INSERT INTO `test` (`num`, `num_zerofill`) VALUES (1, 1);
INSERT INTO `test` (`num`, `num_zerofill`) VALUES (2, 2);
INSERT INTO `test` (`num`, `num_zerofill`) VALUES (3, 3);
INSERT INTO `test` (`num`, `num_zerofill`) VALUES (4, 4);
INSERT INTO `test` (`num`, `num_zerofill`) VALUES (5, 5);
4、总结
1.int后面的数字,不影响int本身支持的大小,int(1)、int(2)…int(10)没什么区别。
2.int后面的数字,配合zerofill一起使用才有效。
3.int(3) + zerofill实现了不足3位补0的现象,对于001,底层存储的还是1,只是在展示的会补0。
原文地址:https://blog.csdn.net/weixin_43453386/article/details/134645869
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_26800.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!