1、int、bigint、smallint 和 tinyint是使用整数数据的精确数字数据类型。
2、主要类型、范围、存储体如下:
1)bigint:从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据,存储 8 个字节。
2)int:从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据。存储 4 个字节
3)smallint:从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据,存储2 个字节。
4)tinyint:从 0 到 255 的整型数据,存储 1 字节。
扩展资料:
1、int的定义:int是一种数据类型,在编程语言(C、C++、C#、Java等)中,它是用于定义整数类型变量的标识符。
2、int的概述:int的存在很广泛,在目前在一般的家用电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1],在微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。使用printf输出int占用字节数量:printf("%d",sizeof(int)); 除了int类型之外,还有short、long、long long类型可以表示整数。unsigned int 表示无符号整数,数据范围为[0~2^32-1],unsigned int 表示无符号整数,数据范围为[0~2^32-1]。
参考资料来源:百度百科-int
其实就是使用存储空间大小的区别
使用整数数据的精确数字数据类型。
bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
PS 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。在 SQL Server 中,int 数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。
只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。
int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。
bigint最多有十九位,具体原因是:
1、bigint可以精确地表示从-2^63到2^63-1,即从-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之间的整数都可以由bigint表示,它占用了八个字节的存储空间。
2、相比之下,int数据类型所表示的数值范围从-2^31到2^31-1,也就是可以用int数据类型来表达-2,147,483,648到2,147,483,647之间的整数。一个int型占用四个字节的存储空间。
扩展资料:
1、bigint的相关应用类别:
SQL Server在整数值超过int数据类型支持的范围时,将使用 bigint数据类型。为了实现兼容性,int数据类型仍是 Microsoft SQL Server 2005 中的主要整数数据类型。数据多的时候,大约有上百万条时用bigint,没有则用int,bigint要用8个字节,int用4个字节存储。
有符号int最大可以支持到约22亿,远远大于需求和MySQL单表所能支持的性能上限。对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限。如果要加大预留量,可以把主键改为改为无符号int,上限为42亿,这个预留量已经是非常的充足了。
使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的。
在应用中除非明确说明,否则那些接受int表达式作为其参数的函数、语句和系统存储过程都不会改变,从而不会支持将 bigint表达式隐式转换为这些参数。
因此,当 bigint值在int数据类型支持的范围内时,SQL Server 才将 bigint隐式转换为int。如果 bigint表达式包含了一个在int数据类型支持范围之外的值,就会在运行时出现转换错误。
ES6之后基本类型增加到了6种:String、Number、Boolean、Null、Undefined、Symbol。BigInt即是第七种基本类型,V8引擎v67 默认启用对 BigInt 的支持。在JavaScript中,Number可以准确表达的最大数字是2^53,没有比这个更大的数字。
JavaScript中Number是双精度浮点数,它可以表示的最大安全范围是正负9007199254740991,也就是2的53次方减一,在浏览器控制台分别输入NumberMAX_SAFE_INTEGER和NumberMIN_SAFE_INTEGER可查看对应的最大、小值。
现在比9007199254740992大的所有数字可以使用BigInt表达。
2、bigint多相关位数controller接收使用:
输入的数值首先不能够超出了Integer的最大值,字符串转数字的过程中一定要避免出现问题。bigint的最大位数为十九位,在此代入数值需要格外注意。
参考资料来源:百度百科-bigint
以上就是关于SQL里的int类型全部的内容,包括:SQL里的int类型、Mysql数据库int和tinyint的区别&扩展阅读、bigint 有多少位等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)