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

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

最近在使用mysql数据库时,数字的类型很多,主要有int、bigint、smallint、tinyint接下来,将详细描述上述三种类型的应用。

最近在使用mysql数据库的时候,数字的类型很多,主要有int,bigint,smallint,tinyint。比较混乱的是int和smallint的区别。今天在网上仔细看了一下,发现了以下内容。留下文件做个总结:

使用整数数据的精确数字数据类型。

bigint

从-2 63 (-922372036854775808)到2 63-1 (922372036854775807)的整数数据(全数字)。存储大小为8字节。

P.S. bigint已经有长度了,mysql表中的长度只是用于显示的位数。

int

从-2 ^ 31(-2,147,483,648)到2 ^ 311(2,147,483,647)的整数数据(所有数字)。存储大小为4字节。int的SQL-92同义词是integer。

smallint

从-2 ^ 15(-32,768)到2 ^ 151(32,767)的整数数据。存储大小为2字节。

tinyint

从0到255的整数数据。存储大小为1字节。

注释

在支持整数值的地方支持Bigint数据类型。但是,bigint用于一些特殊情况。当整数值超出int数据类型支持的范围时,可以使用bigint。在SQL Server中,int数据类型是主要的整数数据类型。

在数据类型优先级表中,bigint位于smallmoney和int之间。

仅当参数表达式是bigint数据类型时,该函数才返回bigint。SQL Server不会自动将其他整数数据类型(tinyint、smallint和int)提升为bigint。

Int(M)在整数数据类型中,M代表最大显示宽度。在int(M)中,M的值与int(M)占用的存储空间大小无关。而且和位数无关。int(3)、int(4)和int(8)都在磁盘上占用4 btyes的存储空间。

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