对于存储和计算来说,int(10)和int(11)没有区别,10代表数字长度
他们的区别在于: 不给十位,前面补0 比如 int(10) 就是0000000001 补了九个零
int(11) 就是00000000001 补了十个零
反正一定要达到10位,或者11位 不够就补零
navicat 演示
但是
他们的存储空间,是一样的
声明字段是int类型的那一刻起,int就是占四个字节,一个字节8位,也就是4*8=32,可以表示的数字个数是2的32次方(2^32 = 4 294 967 296个数字)。
当然如果区分正负号的话所存的数字会比较小。
但是TINYINT和INT区别就大了,TINYINT占用1个字节,也就是取值是-128~127。
所以尽可能取占用空间小的整数类型。
合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检索速度。
放个文档
https://dev.mysql.com/doc/refman/5.7/en/integer-types.html