分享

MySQL之数据类型 int(M)使用说明攻略

 强商网络科技 2021-07-26

MySQL之数据类型 int(M)使用说明攻略

INT[(M)] [UNSIGNED] [ZEROFILL]:普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。参数M与zerofill一起使用,如果不加zerofill那么设置参数M无任何效果。M值设置一个显示宽度,如果插入的数据宽度少于M值,那么当我们用select查询表数据时候,mysql会在该数值的左侧添加0补足到M位数,然后输出。如果超出M位,mysql就不再补足了。M的值可以大于int的最大位数10位。如果为一个数值列 指定 ZEROFILL,MySQL自动为该列添加UNSIGNED属性。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]:很小的整数。带符号的范围是-128到127。无符号的范围是0到255。

BOOL,BOOLEAN:是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。在将来,将根据标准SQL引入完全布尔类型的处理

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]:小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]:中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

INT[(M)] [UNSIGNED] [ZEROFILL]:普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

案例:

mysql> create table q (id int zerofill, id2 mediumint(53) zerofill) ;

mysql> insert into q values (3,4111);

mysql> select *from q;
+------------+-------------------------------------------------------+
| id         | id2                                                   |
+------------+-------------------------------------------------------+
| 0000000003 | 00000000000000000000000000000000000000000000000004111 |
+------------+-------------------------------------------------------+

可以看到如果不设置M值,那么int默认取10.smallint如果不设置M,mysql默认取值为5,tinyint如果不设置M,mysql默认取值为3.当然tinyint的参数M也可以大于3.可以看到,如果省略参数M,直接加入zerofill关键字,那么系统默认M为该当前数据类型的最大位数。如int最大位数为10位数。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多