mysql数据库int(5)以及varchar(20)长度表示的是什么?

在mysql5.x版本的数据库中:

 

int类型数据的字节大小是固定的4个字节;

但是int(5)和int(11)区别在于,显示的数据位数一个是5位一个是11位,在开启zerofill(填充零)情况下,若int(5)存储的数字长度是小于5的则会在不足位数的前面补充0,但是如果int(5)中存储的数字长度大于5位的话,则按照实际存储的显示(数据大小在int类型的4个字节范围内即可),也就是说int(M)的M不代表数据的长度;

 

varchar(20)中的20表示的是varchar数据的数据长度最大是20,超过则数据库不会存储;

 

总结:  int(M) M表示的不是数据的最大长度,只是数据宽度,并不影响存储多少位长度的数据;

         varchar(M) M表示的是varchar类型数据在数据库中存储的最大长度,超过则不存;

posted @ 2017-10-11 16:16  开始战斗  阅读(2143)  评论(0编辑  收藏  举报