Int、bigint、smallint、tinyint的区别
Bigint:从-2^63-2^63的整型数据(所有数字)。存储大小为8个字节。Bigint已经有长度了,在mysql建表中的length,只是用于显示的位数。
Int:从-2^31-2^31的整型数据(所有数字)。存储大小为4个字节。Int的SQL-92同义字为integer。
Smallint:从-2^15到2^15的整型数据。存储大小为2个字节。
Tinyinit:从0到255的整型数据。存储大小为1字节。
注释:
在支持整数值的地方支持bigint数据类型。但是,bigint用于某些特殊的情况,当整数值超过int数据类型支持的范围时,就可以采用bigint。在SQL Sever中,int数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint位于smallmoney和int之间。
只有当参数表达式是bigint数据类型时,函数才返回bigint。SQL Sever不会自动将其他整数数据类型(tinyint、smallint、int)提升bigint。
Int(M)在integer数据类型中,M表示最大显示宽度。在int(M)中,M的值跟int(M)所占存储空间并无任何关系。和数字位数也无关系int(3)、int(4)、int(8)在磁盘都是占据4 btyes的存储空间。
参考网址:
https://www.imooc.com/article/41543