mysql 中int和integer什么区别

作者&投稿:郦中 (若有异议请与网页底部的电邮联系)
MySQL 中int和integer什么区别~

没有区别
分析:
· INT[(M)][UNSIGNED] [ZEROFILL]
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
·INTEGER[(M)] [UNSIGNED] [ZEROFILL]
这是INT的同义词。使用两个名字只是为了简化和方便,没有本质上的区别。

在MySQL中是没有区别的,因为数据库要支持多种语言,也就是跨语言。
而Java中, int是JAVA缺省的8中基本数据类型之一.不是类的对象.
int是基本数据类型,Integer是对int进行了封装的一个类。
声明为int的变量不需要实例化,声明为Interger的变量需要实例化
int是基本类型,Integer是包装类,也就是类。

mysql中int和integer区别为:类型不同、默认值不同、存储不同。

一、类型不同

1、int:在mysql中,int的数据类型是基本数据类型,是对integer的拆箱。

2、integer:在mysql中,integer的数据类型是引用数据类型,是对int的装箱。

二、默认值不同

1、int:在设置字段类型为int类型时,字段的默认值是0。

2、integer:在设置字段类型为integer类型时,字段的默认值是null。

三、存储不同

1、int:int是作为对象,直接存储数值。

2、integer:integer需要实例化对象,实际上是生成一个指针指向对象的地址。



同意 henuzhao的意见。

没有区别

· INT[(M)] [UNSIGNED] [ZEROFILL]

普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

· INTEGER[(M)] [UNSIGNED] [ZEROFILL]

这是INT的同义词。

以上参考自mysql手册 5.1版本 章节 11.1.1

关于
“如果没有什么区别,那么MySQL为什么有它们俩个哪?”
的问题,打个比方
windows命令行下有mkdir md 都是创建一个文件夹。 而且完全相同。
linux下 list 相当于dos的dir
可是大部分发行版都可以简写成ls
Freebsd中可以简写成l

感觉纯粹是为方便

我今天碰到了个问题 我mysql的数据库中的int类型为null,但是int类型在java中不能赋值为null,
所以要用intger,就像分数如果是缺考就给个null,你用int就会出问题

mysql中用int就行了,没见过用Integer的-

没什么区别,int是integer的缩写


淮阳县15918346607: mysql 中int和integer什么区别 -
田汪猴菇: mysql中int和integer区别为:类型不同、默认值不同、存储不同. 一、类型不同 1、int:在mysql中,int的数据类型是基本数据类型,是对integer的拆箱. 2、integer:在mysql中,integer的数据类型是引用数据类型,是对int的装箱. 二、默认值不同 1、int:在设置字段类型为int类型时,字段的默认值是0. 2、integer:在设置字段类型为integer类型时,字段的默认值是null. 三、存储不同 1、int:int是作为对象,直接存储数值. 2、integer:integer需要实例化对象,实际上是生成一个指针指向对象的地址.

淮阳县15918346607: Mysql中,int和int的区别 -
田汪猴菇: 在支持整数值的地方支持 bigint 数据类型.但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint.在 SQL Server 中,int 数据类型是主要的整数数据类型. 在数据类型优先次序表中,bigint 位于 ...

淮阳县15918346607: integer和int在mysql中有区别么,java里咋有区别 -
田汪猴菇: 在MySQL中是没有区别的,因为数据库要支持多种语言,也就是跨语言.而Java中, int是JAVA缺省的8中基本数据类型之一.不是类的对象.int是基本数据类型,Integer是对int进行了封装的一个类. 声明为int的变量不需要实例化,声明为Interger的变量需要实例化 int是基本类型,Integer是包装类,也就是类.

淮阳县15918346607: mysql int 与 tinyint 有什么区别 -
田汪猴菇: mysql int 与 tinyint 区别主要是存储数值的大小不一样,存储时使用的存储空间也不一样. 1、int从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字).存储大小为 4 个字节.int 的 SQL-92 同义字为 integer. 2、...

淮阳县15918346607: mysql主键int和bigint类型的区别 -
田汪猴菇: 有符号int最大可以支持到约22亿,远远大于我们的需求和MySQL单表所能支持的性能上限.对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限.如果要加大预留量,可以把主键改为改为无符号int,上限为42亿,这个预留量已经是非常的充足了. 使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的. 因此推荐自增主键使用int unsigned类型,但不建议使用bigint.

淮阳县15918346607: mysql中int,bigint,smallint 和 tinyint的区别详细介绍 -
田汪猴菇: bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节.P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数 int 从 -2^31 (-2,147,483,648) 到 2^31 – 1 ...

淮阳县15918346607: mysql 中int类型长度是怎么回事 -
田汪猴菇: 这个长度只是显示长度,在新版本中已经是不推荐使用的了. 老版本可能会有些影响,但是在新版本中已经没什么影响了. int类型的存储字节就是4字节,不论长度多少. 所谓的显示长度就是,栗子length=8,00000001.length=6,0000001.差不读就是这样的作用.

淮阳县15918346607: mysql的INT类型不是保存为4字节吗,但是当我不填长度的时候,却默认的长度为11 -
田汪猴菇: int(m),integer(m) 32位整数(4字节....) 其实这个m跟INT能表示的范围没有关系,只要你选择了INT,INT是用4个字节表示,1个字节8位,若表示无符号数时可以表示的范围是 0 ------- 232-1 ,你可以存储任何在这个范围内的数字. 但也不是说跟表示完全没关系,mysql中有个zerofll,当建表时选择了0 填充之后存储就会有很大的不同,这时如果你选择的是int(4) 你存储12则数据库中存储的是0012,如果填写12345,此时超过了他的指定宽度则按原样存储.

淮阳县15918346607: 求助mysql建表 -
田汪猴菇: 在 integer 数据类型中,M 表示最大显示宽度.原来,在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系. int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间.说白了, 除了显示给用户的方式有点不同外,int(M) 跟 int 数据类...

淮阳县15918346607: mysql中int(10)代表什么意思?
田汪猴菇: int(M) 在 integer 数据类型中,M 表示最大显示宽度. 在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系. int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间.说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的. 如果int的值为10 int(10)显示结果为0000000010 int(3)显示结果为010 就是显示的长度不一样而已 都是占用四个字节的空间

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网