在Mysql中,int(10)的最大大小是多少?
在MySQL中,int(10)的最大大小是多少的原因是因为它是一个整数类型,它可以存储的最大值是4294967295,无论它是int(1)还是int(10),它都将使用4个字节的数据。根据这里的说明,即使它可以存储最大长度的值,我们为什么要设置长度呢?实际上,你不必设置它,并且它不是大小。它只是一个格式长度提示,大多数情况下会被忽略。当我们在int上使用zerofill时,长度才会起作用。
参考链接:
- [MySQL INT(1) or INT(10)](http://www.bajb.net/2008/10/mysql-int1-or-int10/)
MySQL中的INT(10)
最大大小是多少?
INT(10)
表示你可能将其定义为INT UNSIGNED
。
所以,你可以存储从0
到4294967295
的数字(请注意,最大值有10位数,所以MySQL自动在列定义中添加了(10)
,这只是一个格式提示,对你可以存储的数字大小没有影响)。
如果你想存储更大的值,可以使用BIGINT UNSIGNED
。请参阅MySQL文档:整数类型(精确值)。
我已经验证过,整数始终占据4个字节,并且允许其最大大小为你设置的长度,比如int(10)
,但如果你设置为char(4)
,它将不允许超过4个字符,我在思考为什么不同的数据类型行为不同?
INT
始终是4个字节。无论你将其定义为int(1)
、int(4)
还是INT(10)
,它都允许4字节的整数。但是CHAR(x)
和VARCHAR(x)
是不同的。是的,x
表示最大字符数。
(10)不是指int可以包含的最大字符数。它对整数的位数或最大大小没有任何影响。你甚至可以将列配置为bigint(5)。(10)是"显示宽度"。它仅仅是元数据,通常根本不使用。工具可以读取该值并使用它来设置列宽,例如在格式化输出时。MySQL只在启用zerofill的列上使用它,然后它会在数字前面加上零,直到达到显示宽度为止。
确切地说,(10)只是显示宽度,没有其他作用。某些工具,如mysql命令行界面,使用它来美观地显示整数值。