首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQLintbigint、smallint tinyint的区别详细介绍

最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallinttinyint。其中比较迷惑的是intsmallint的差别。...P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数 int 从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647...注释 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。...在 SQL Server 中,int 数据类型是主要的整数数据类型。 在数据类型优先次序表中,bigint 位于 smallmoney int 之间。...只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint int)提升为 bigint

5.4K30

intbigint、smallint tinyint范围「建议收藏」

INT[(M)] [UNSIGNED] [ZEROFILL]  M默认为11 从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据...int 的 SQL-92 同义字为 integer。   普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。   ...7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807...注意:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。...tinyint(1) tinyint(4) 中的14并不表示存储长度,只有字段指定zerofill是有用, 如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002

2.1K30

mysqlintbigint、smallint tinyint的区别存储的范围

部门中有个字段存储的是十进制数字 , 但是表示的意思是转成二进制后 ,每一个位代表不同功能的开关状态 当超过32个功能开关的时候 , 就需要将int类型转换成bigint类型 , 原因就是int只能存储...4个字节也就是2的32次方的整型值 , 装不下了, 下面就是具体的存的范围 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807...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 个字节。...注释 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint

1.4K10

mysql的数据类型intbigint、smallint tinyint取值范围

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 个字节。...注释 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。...在 SQL Server 中,int 数据类型是主要的整数数据类型。 在数据类型优先次序表中,bigint 位于 smallmoney int 之间。...只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint int)提升为 bigint

4.1K31

MySQLint (10) int (11) 的区别

一旦人工设置了 ZEROFILL 属性,MySQL 会自动设置 UNSIGNED 属性(即 ZEROFILL 不能存储负数)。 那取值范围显示宽度到底有什么关系呢?...test_id_2 显示宽度为 4 两字段,接下来插入数据,同时插入 - 128、1 127 这些数值,看看会怎么样。...同理,所以 int (10) int (11) 无任何区别,就是显示宽度不同。...Mysql 可以为整数类型指定宽度,例如 INT (11),对大多数应用这是没有意义的:他不会限制值的合法范围,只是规定了 Mysql 的一些交互工具,如 Mysql 命令行客户端,用来显示字符的个数。...对于存储运算来说, INT (1) INT (8) 是相同的。 是的,设置自动填充的时候用来显示补充0有点 用而已

1.8K30

如何将生产环境的字段类型从INT修改为BIGINT

本文描述了我如何计划执行从INTBIGINT数据类型的更改。该技术在单独的SQL服务器实例上创建表的新副本,并使用BIGINT数据类型,然后使用对象级恢复将其移到生产数据库中。...我个人怀疑这个方案是否满足条件,包括维护性能。 另一个方案就是建议使用INT的负值。这意味着要重新设定INT从-1 到-2.147 billion 行,这也只是短时间的解决问题。...就是去创建一个副本表,唯一不同就是使用BIGINT代替INT,然后小批量的赋值数据,保证两个表示同步,通过使用cdc或者触发器来捕捉原表的修改完成对目标表的插入。...在验收生产过程中,流程按照以下步骤进行: 将生产数据库的完整数据库备份恢复到开发/测试环境。 在还原的数据库中,用BIGINT代替INT创建副本表。...总得来说,标准方法后面的方法都是比较好的方式,同时确保数据的完整性是第一位的。 我介绍的方法最小化了停机时间影响生产服务器性能的潜力,同时它允许我在单独的开发实例上完成大部分工作。

2.9K10

如何将生产环境的字段类型从INT修改为BIGINT

本文描述了我如何计划执行从INTBIGINT数据类型的更改。该技术在单独的SQL服务器实例上创建表的新副本,并使用BIGINT数据类型,然后使用对象级恢复将其移到生产数据库中。...我个人怀疑这个方案是否满足条件,包括维护性能。 另一个方案就是建议使用INT的负值。这意味着要重新设定INT从-1 到-2.147 billion 行,这也只是短时间的解决问题。...就是去创建一个副本表,唯一不同就是使用BIGINT代替INT,然后小批量的赋值数据,保证两个表示同步,通过使用cdc或者触发器来捕捉原表的修改完成对目标表的插入。...在验收生产过程中,流程按照以下步骤进行: 将生产数据库的完整数据库备份恢复到开发/测试环境。 在还原的数据库中,用BIGINT代替INT创建副本表。...总得来说,标准方法后面的方法都是比较好的方式,同时确保数据的完整性是第一位的。 我介绍的方法最小化了停机时间影响生产服务器性能的潜力,同时它允许我在单独的开发实例上完成大部分工作。

5K80

mysql存储手机号为什么不用bigint?

bytes 从容量速度上看,bigint是最好的选择。...4.在32位的某些应用中,bigint太大,会溢出,要进行各种转换,很麻烦。 5.手机号可能有-(座机),用int存不了。...and操作; 对于bigint的优势,对其进行分析: 空间占用:对于一个存放4位区号(不太可能,这里取4位为了计算最大的空间占用差距)11号码的bigintvarchar,一个号码bigint...;可是涉及到所有有手机号的字段都需要建立0~9 10个分表,这实在是代价有点大;也不能varcharint混用,否则int那点可能存在的效率上的优势会被转换消化掉; 没有扩展性,如果将来手机号演变为2...那int实现的扩展性将是致命的; 分析下来,int或许有些许性能优势,但其带来的复杂度扩展上的劣势让我根本都不必动手,就打消了念头了;唉,也许这就是为什么大多数公司选择varchar存储手机号的原因吧

3.2K20

intint32的区别_int是多少位的

大家有没有写了很久代码,还不知道这个Int8,Int16, Int32, Int64有什么区别呢?或者是为什么后面的数字不一样呢? 初步了解了一下,才清楚这个东西。...先来扫盲一下计算机存储单元,   在计算机内部,信息都是釆用二进制的形式进行存储、运算、处理传输的。信息存储单位有位、字节字等几种。...各种存储设备存储容量单位有KB、MB、GBTB等几种 计算机的基本的存储单元有:   位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。...而Int8,Int16,Int32,nt64,后面的数字就代表这个数据类型占据的空间。 Int8, 等于Byte, 占1个字节.  ...Int16, 等于short, 占2个字节. -32768 32767   Int32, 等于int, 占4个字节. -2147483648 2147483647   Int64, 等于long

2.9K20

int* iint *i那种更好

需要明确的是int* i与int *i是等价的。对于int* iint *i那种更好,或许每个程序员都会有不同的评判,那个都不为过。   ...int* i-类型与星号贴合   一些人喜欢指针变量int* i;,这样看起来更符合变量与类型之间的关系,因为int*作为单独的类型(整型指针类型)更具有可读性。...int *i-星号与变量贴合   另外一些人喜欢int *i;因为解析器会将星号附加(绑定)到变量,而不是类型。另外在同一行中定义两个变量时,这就体现出它的意义了。...例: int* i, j; 想定义两个整型指针变量却的得到的是: int* i; int j; 显然实际结果不一致。 个人观点   Qt君更倾向于星号与变量贴合的方式。...虽然使用上面哪一种方式都是可以的,但不建议写成以下的方式: int*i; int * i; int * i;

95920
领券