zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mysql中int、bigint、smallint和tinyint的区别详细介绍

mysql 详细 介绍 区别 int BigInt tinyint
2023-06-13 09:14:40 时间
最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,留档做个总结:
使用整数数据的精确数字数据类型。
bigint
从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据(所有数字)。存储大小为8个字节。
P.S.bigint已经有长度了,在mysql建表中的length,只是用于显示的位数
int
从-2^31(-2,147,483,648)到2^31?1(2,147,483,647)的整型数据(所有数字)。存储大小为4个字节。int的SQL-92同义字为integer。
smallint
从-2^15(-32,768)到2^15?1(32,767)的整型数据。存储大小为2个字节。
tinyint
从0到255的整型数据。存储大小为1字节。
注释
在支持整数值的地方支持bigint数据类型。但是,bigint用于某些特殊的情况,当整数值超过int数据类型支持的范围时,就可以采用bigint。在SQLServer中,int数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint位于smallmoney和int之间。
只有当参数表达式是bigint数据类型时,函数才返回bigint。SQLServer不会自动将其它整数数据类型(tinyint、smallint和int)提升为bigint。
int(M)在integer数据类型中,M表示最大显示宽度。在int(M)中,M的值跟int(M)所占多少存储空间并无任何关系。和数字位数也无关系int(3)、int(4)、int(8)在磁盘上都是占用4btyes的存储空间。