您的位置:首页 > 数据库 > MySQL

【MySQL】MySQL数据类型宽度

2018-01-09 21:33 573 查看


MySQL中整数数据类型



上图:MySQL的整数类型


MySQL中数据类型的显示宽度

显示宽度只是指明MYSQL最大可能显示的数字个数,数值的位数小于指定的宽度时会有空格填充,取决于你的设置。如果插入了大于显示宽度的值,只要该值不超过该类型的取值范围,数值依然可以插入显示出来。

创建表时,可以在INT后面加入数值。请注意这个数值不代表数据的长度。例如id字段的数据类型为INT(4),注意到后面的数字4,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数,实际存储的长度还是上表中INT的取值范围即-2147483648~2147483648。

来看一个例子:



上图中在创建表时列指定了zerofill,如果存入12,那么查询出来的结果就是0000000012,左边用0来填充。如果我们没有指定zerofill,默认用空格来填充。


显示宽度和数据类型的取值范围是无关的

当我们没有指定数据类型的显示宽度,它的默认值如下:

TINYINT[(M)] [UNSIGNED] [ZEROFILL]  M默认为4,占1个字节

SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9

INT[(M)] [UNSIGNED] [ZEROFILL]   M默认为11

BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20

注意:这里的M代表的并不是存储在数据库中的具体的长度


注意事项

显示宽度只用于显示,并不能限制取值范围和占用空间。比如INT(3)会占用4个字节的存储空间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息