加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL INT(N)以及zerofill的使用区别

发布时间:2020-12-11 23:59:49 所属栏目:MySql教程 来源:网络整理
导读:MYSQL中,int(n)括号里面的数据n无论写成多少,都是占4个字节的空间,最多能够存10位数。N不代表能够存多少位数,显示宽度M与数据所占用空间,数值的范围无关。 如果在定义字段的时候指定zerofill,那么当数值的显示宽度小于指定的列宽度时候,则默认补充的

MYSQL中,int(n)括号里面的数据n无论写成多少,都是占4个字节的空间,最多能够存10位数。N不代表能够存多少位数,显示宽度M与数据所占用空间,数值的范围无关。 如果在定义字段的时候指定zerofill,那么当数值的显示宽度小于指定的列宽度时候,则默认补充的空格用0代替,例如定义了zerofill,int(4)中的4就有意义了,我们插入一个数1,他会补充完成0001,int(10)则为0000000001。

测试如下:

1、创建一张int(4)的测试表

mysql> create table t1(id int(4));Query OK,0 rows affected (0.08 sec)

mysql> insert into t1 values(1);Query OK,1 row affected (0.00 sec)

mysql> insert into t1 values(2);Query OK,1 row affected (0.02 sec)

mysql> insert into t1 values(2);Query OK,1 row affected (0.00 sec)

mysql> select * from t1;+------+| id |+------+| 1 || 2 || 2 |+------+3 rows in set (0.00 sec)

2、创建一张int(10)的测试表

mysql> create table t2(id int(10));Query OK,0 rows affected (0.01 sec)

mysql> insert into t2 values(1);Query OK,1 row affected (0.01 sec)

mysql> insert into t2 values(2);Query OK,1 row affected (0.01 sec)

mysql> insert into t2 values(3);Query OK,1 row affected (0.00 sec)

mysql> select * from t2;+------+| id |+------+| 1 || 2 || 3 |+------+3 rows in set (0.00 sec)

?3、创建一张int(4) zerofill的测试表

mysql> create table t3(id int(4) zerofill);Query OK,0 rows affected (0.02 sec)

mysql> insert into t3 values(1);Query OK,1 row affected (0.00 sec)

mysql> insert into t3 values(2);Query OK,1 row affected (0.00 sec)

mysql> insert into t3 values(3);Query OK,1 row affected (0.00 sec)

mysql> select * from t3;+------+| id |+------+| 0001 || 0002 || 0003 |+------+3 rows in set (0.00 sec)

自动补齐前面的0。

?4、创建一张int(10) zerofill的测试表

mysql> create table t4(id int(10) zerofill);Query OK,0 rows affected (0.02 sec)

mysql> insert into t4 values(1);Query OK,1 row affected (0.01 sec)

mysql> insert into t4 values(2);Query OK,1 row affected (0.01 sec)

mysql> insert into t4 values(3);Query OK,1 row affected (0.01 sec)

mysql> SELECT * FROM t4;+------------+| id |+------------+| 0000000001 || 0000000002 || 0000000003 |+------------+3 rows in set (0.00 sec)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读