MySQL int类型 |
您所在的位置:网站首页 › 代码中int › MySQL int类型 |
在本教程中,您将了解MySQL INT或整数数据类型以及如何在数据库表设计中使用它。 另外,我们将向您展示如何使用表中整数列的显示宽度和ZEROFILL属性。 MySQL INT类型简介在MySQL中,INT代表整数。整数可以写成没有分数的数值,例如,它可以是1,100,4,-10等,它不能是1.2,5/3等。整数可以是零,正和负。 MySQL支持所有标准SQL整数类型INTEGER、INT和SMALLINT。 此外,MySQL提供TINYINT, MEDIUMINT,BIGINT作为标准SQL的扩展。 MySQL INT数据类型可以是有符号或无符号。下表说明了每个整数类型的特性,包括以字节为单位的存储,最小值和最大值。 由于整数类型表示精确数字,因此通常将其用作表的主键。此外,INT列可以具有AUTO_INCREMENT属性。 当在INT AUTO_INCREMENT列中插入NULL值或0时,列的值将设置为下一个序列值。 请注意,序列值以1开始。 在AUTO_INCREMENT列中插入不为NULL或零的值时,列接受该值。 此外,序列将重置为插入值的下一个值。 我们来看一个使用带有AUTO_INCREMENT属性的整数列的表的例子。 首先,使用以下语句创建一个名为items的新表,其中整数列为主键: USE testdb; CREATE TABLE items ( item_id INT AUTO_INCREMENT PRIMARY KEY, item_text VARCHAR(255) );可以在上面的CREATE TABLE语句中使用INT或INTEGER,因为它们是可互换的。 每当在items表中插入一个新行时,item_id列的值将增加1。 接下来,以下INSERT语句在items表中插入三行数据。 INSERT INTO items(item_text) VALUES('laptop'), ('mouse'),('headphone');然后,使用以下SELECT语句从items表查询数据: SELECT * FROM items;之后,插入一个新的行,该行的item_id列的值要明确指定。 INSERT INTO items(item_id,item_text) VALUES(10,'Server');因为item_id列的当前值为10,所以序列将重置为11。如果插入新行,则AUTO_INCREMENT列将使用11作为下一个值。 INSERT INTO items(item_text) VALUES('Router');最后,再次查询items表中的数据,如下结果。 SELECT * FROM items;请注意,由于自MySQL 5.1版本起,AUTO_INCREMENT列只接受正值。AUTO_INCREMENT列不支持负数值。 MySQL INT和显示宽度属性MySQL提供了一个扩展,允许您指定显示宽度以及INT数据类型。显示宽度包含在INT关键字后面的括号内,例如,INT(5)指定一个显示宽度为五位数的INT。 要注意的是,显示宽度属性不能控制列可以存储的值范围。显示宽度属性通常由应用程序用于格式化整数值。 MySQL将显示宽度属性作为返回结果集的元数据。 具有ZEROFILL属性的MySQL INT除了显示宽度之外,MySQL还提供了非标准的ZEROFILL属性。 在这种情况下,MySQL将空格替换为零。请参考以下示例。 首先,使用以下语句创建一个名为zerofill_tests的表: USE testdb; 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, v3 FROM zerofill_tests;v1列的显示宽度为2,包括ZEROFILL,它的值为1,因此在输出中看到01。 MySQL将第一个空格替换为0。 v2列具有包含ZEROFILL的显示宽度3。 它的值为6,因此将看到有00作为前导零。 v3列具有包含ZEROFILL的显示宽度5,它的值为9,因此MySQL在输出数字的开头填零为0000。 请注意,如果对整数列使用ZEROFILL属性,MySQL将自动将一个UNSIGNED属性添加到该列。 在本教程中,我们向您展示了如何在表中使用MySQL INT数据类型,并向您介绍了整数列的显示宽度和ZEROFILL属性。 以下是纠正/补充内容: signed 和 unsigned图表中对应的 min 和 max值有误, TINYINT signed min 应该为 -2^7 max 应该为 2^7, 以此类推SMALLINT MEDIUMINT INT BIGINT 提交时间:2021-10-12上一篇: MySQL数据类型 下一篇: MySQL技巧 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |