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

posted on 2022-02-16 09:42  西伯尔  阅读(42)  评论(0)    收藏  举报