在mysql中,int是标准整数类型,可以代表普通大小的整数。int数据类型占4个字节,可以是有符号和无符号的,有符号时的存储范围为“-2147483648~2147483647”,无符号时的存储范围为“0~4294967295”;设置int类型的字段可以具有auto_increment属性,实现序列值自增长。
本教程操作环境:windows7系统、mysql8版本、dell g3电脑。
mysql int类型
在mysql中,int是标准整数类型,可以代表普通大小的整数,占4个字节。设置int类型的字段可以具有auto_increment属性,实现序列值自增长。
mysql支持所有标准sql整数类型integer或int和smallint。另外,mysql提供 了标准sql tinyint mediumint,并bigint 作为标准sql的扩展。
mysql int 数据类型可以是有符号和无符号的。下表说明了每种整数类型的特征,包括以字节为单位的存储,最小值和最大值。
类型存储(字节)有符号无符号
最小值最大值最小值最大值
tinyint 1 -128(-24) 127(24) 0 255(28)
smallint 2 -32768(-28) 32767(-28) 0 65535(-216)
mediumint 3 -8388608(-212) 8388607(-212) 0 16777215(-224)
int 4 -2147483648(-216) 2147483647(-216) 0 4294967295(-232)
bigint 8 -9223372036854775808(-232) 9223372036854775807(-232) 0 18446744073709551615(-264)
mysql int和显示宽度属性
mysql提供了一个扩展,允许您指定显示宽度和int数据类型。显示宽度包含在int关键字后面的括号内,例如,int(5)指定int显示宽度为五位的a。
请务必注意,display width属性不控制列可以存储的值范围。应用程序通常使用display width属性来格式化整数值。mysql包含display width属性作为返回结果集的元数据。
mysql int具有zerofill属性
除了显示宽度,mysql还提供了非标准zerofill 属性。在这种情况下,mysql将空格替换为零。请考虑以下示例。
首先,zerofill_tests使用以下语句创建一个名为的表:
create table zerofill_tests( id int auto_increment primary key, v1 int(2) zerofill, v2 int(3) zerofill, v3 int(5) zerofill);
其次,在zerofill_tests表中插入一个新行。
insert into zerofill_tests(v1,v2,v3)values(1,6,9);
第三,从zerofill_tests表中查询数据。
select v1, v2, v3from zerofill_tests;
v1列的显示宽度为2的zerofill.因此它的值为1,因此,您可以在输出中看到01。mysql将第一个空格替换为0。
v2列的显示宽度为3的 zerofill。因此,它的值为6,其它值以00填充。
v3列的显示宽度为5 的zerofill,而其值为9,因此mysql 在输出中的0000数字的开头填充。
注意:如果zerofill对整数列使用属性,mysql将自动向列添加 unsigned属性。
【相关推荐:mysql视频教程】
以上就是mysql int是什么的详细内容。