因为字节分有符号和无符号两种,于是 int 有符号 的 范围就是 -2的31次方 到 2的31次方减去1 ,即 -2147483648 ~ 2147483647; int 无符号 的 范围就是 0 到 2的32次方减去1。
int(m)zerofill,加上zerofill后m才表现出有点点效果,比如
int(3)
zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加
zerofill,则它们没有什么区别.m不是用来限制int个数的.int(m)的最大值和最小值与undesigned有关,最下面那副图有说明.
mysql>
create
table
t
(t
int(3)
zerofill)
query
ok,
0
rows
affected
(0.00
sec)
mysql>
insert
into
t
set
t
=
10
query
ok,
1
row
affected
(0.00
sec)
mysql>
select
*
from
t
+——+
|
t
|
+——+
|
010
|
+——+
1
row
in
set
(0.11
sec)
zerofill
with
default
width,
the
same
as
int(10):
mysql>
create
table
t
(t
int
zerofill)
query
ok,
0
rows
affected
(0.02
sec)
mysql>
insert
into
t
set
t
=
10
query
ok,
1
row
affected
(0.02
sec)
mysql>
select
*
from
t
+————+
|
t
|
+————+
|
0000000010
|
+————+
1
row
in
set
(0.08
sec)
without
zerofill:
mysql>
create
table
t
(t
int)
query
ok,
0
rows
affected
(0.01
sec)
mysql>
insert
into
t
set
t
=
10
query
ok,
1
row
affected
(0.01
sec)
mysql>
select
*
from
t
+——+
|
t
|
+——+
|
10
|
+——+
1
row
in
set
(0.00
sec)
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需要实例化对象,实际上是生成一个指针指向对象的地址。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)