tinyint、smallint、bigint、int 区别

时间:2024-11-14 08:37:44

1byte=8bit  

【tinyint】

从 0 到 255 的整型数据。存储大小为 1 字节。如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数

【smallint】

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节,共16位。其中15位用于表示数值的大小,1位用于表示符号。

【int】

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

【bigint】

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。