0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
mysql中设置了储存类型后储存是定長的,也就是说int(1) 和 int(4) 在硬盘中所占的字节数都是一样的。
我们知道int类型占4个字节,tinyint占1个字节int(1) 和 int(4) 从本身长度还是存储方式上都是一样的,区别就是显示的长度不同但是要设置一个参数:如果列制定了zerofill 就会用0填充显示,int(4)指定后就会显示为0002
注意数字类型后面括号中的数字,不表示长度表示的是显示宽度,这点与 varchar、char 后面的数字含义是不同的
也就是说不管 int 后面的数字是多少,它存储的范围始终是 -2^31 到 2^31 - 1
综上整型的数据类型括号内的数字不管是多少,所占的存储空间都是一样
显而易见int(1) 和 tinyint(1) ,在设计数据库中int什么意思的时候应该选择tinyint(1)所占的储存空间越少越好,当然要够用才行像这样储存一个 个位数的字段,还是用tinyint(1)的好
1.规定类型之后,存储是定长的int(1)和int(4)从本身长度还是存储方式上都是一样的。mysql里int(1)和int(4)的区别就是显示的长度,但是要设置一个参数:如果列制定了zerofill 就会用0填充显示如2 int(3)指定后就会显示为002
仩面总结的有点乱。下面精简总结:
tinyint(3) zerofill 当插入的数据少于3位的时候,左边自动补零这才是限制显示长度
但是,varchar(5) 这里的5 限制的是储存字符嘚个数字符不分贵贱(不分 中文、英文、数字...)。