1、MySQL支持数据类型
MySQL支持SQL标准数据类型INTEGER (or INT) and SMALLINT,也支持TINYINT, MEDIUMINT, and BIGINT。下面是各整型的取值范围:

参考:
https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
2、各类型及可选参数
整型系统的可选参数 : XXint(M) unsigned zerofill
| 类型+可选参数 | 说明 |
|---|---|
| 1.BIT[M] M默认为1 | 位字段类型,M表示每个值的位数,范围从1到64 |
| 2.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4 | 很小的整数。带符号的范围是-128到127。无符号的范围是0到255。 |
| 3.BOOL,BOOLEAN | 是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。 |
| 4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6 | 小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。 |
| 5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9 | 中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。 |
| 6.INT[(M)] [UNSIGNED] [ZEROFILL] M默认为11 | 普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。 |
| 7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20 | 大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。 |
参考:
https://www.cnblogs.com/yiwd/p/5531167.html
2、各参数的含义
ZEROFILL:填充零。若某列为zerofill,则该列已经默认为unsigned无符号类型。
M:显示的位数。
- 如果没有zerofill属性,单独的参数M不顶用。
- zerofill时,若M<实际位数,则忽略M;若M>实际位数,则在前面补全0。类似于C++格式输出时setw(M)控制的位数。
- 真相:实际使用中,MySQL表的填充零大多数都不勾选,所以,位数M基本没用。所以,程序开发中涉及M时,不必纠结,直接忽略,用数据库默认M即可。
参考:
https://blog.csdn.net/weixin_34166847/article/details/92615078
https://dev.mysql.com/doc/refman/5.7/en/numeric-type-attributes.html
https://blog.csdn.net/u014401141/article/details/72229166
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
浙公网安备 33010602011771号