mysql int指的是什么

57次阅读
没有评论

共计 2470 个字符,预计需要花费 7 分钟才能阅读完成。

本篇内容主要讲解“mysql int 指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“mysql int 指的是什么”吧!

在 mysql 中,int 是标准整数类型,可以代表普通大小的整数。int 数据类型占 4 个字节,可以是有符号和无符号的,有符号时的存储范围为“-2147483648~2147483647”,无符号时的存储范围为“0~4294967295”;设置 int 类型的字段可以具有 AUTO_INCREMENT 属性,实现序列值自增长。

本教程操作环境:windows7 系统、mysql8 版本、Dell G3 电脑。

mysql int 类型

在 mysql 中,int 是标准整数类型,可以代表普通大小的整数,占 4 个字节。可以在没有分数分量的情况下写入整数,例如,它是 1,100,4,-10 等,并且它不能是 1.2,5 / 3 等。整数可以是零,正和负。

MySQL 支持所有标准 SQL 整数类型 INTEGER 或 INT 和 SMALLINT。另外,MySQL 提供   了标准 SQL TINYINT MEDIUMINT,并 BIGINT 作为标准 SQL 的扩展。

MySQL INT 数据类型可以是有符号和无符号的。下表说明了每种整数类型的特征,包括以字节为单位的存储,最小值和最大值。

类型存储 (字节) 有符号无符号最小值最大值最小值最大值 TINYINT1-128(-24)127(24)0255(28)SMALLINT2-32768(-28)32767(-28)065535(-216)MEDIUMINT3-8388608(-212)8388607(-212)016777215(-224)INT4-2147483648(-216)2147483647(-216)04294967295(-232)BIGINT8-9223372036854775808(-232)9223372036854775807(-232)018446744073709551615(-264)

在列中使用 INT

因为整数类型表示确切的数字,所以通常将它用作表的主键。此外,INT 列可以具有 AUTO_INCREMENT 属性。

当你 插入一个 NULL 值或 0 到 INT AUTO_INCREMENT 列,列的值设置为下一个序列值。请注意,序列值以 1 开头。

当您向 AUTO_INCREMENT 列中插入一个非零或零值时,列将接受 NULL 值。此外,序列被重置为插入值的下一个值。

让我们看一个使用带 AUTO_INCREMENT   属性的整数列的表的示例  。

首先,使用以下语句创建一个新表 items 以整数列作为主键:

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 
 *
 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 
 *
 items;

注意:自 MySQL 5.1 以来,AUTO_INCREMENT 列仅接受正值。AUTO_INCREMENT 列不支持负值  。

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, v3
 zerofill_tests;

v1 列的显示宽度为 2 的 ZEROFILL. 因此它的值为 1,因此,您可以在输出中看到 01。MySQL 将第一个空格替换为 0。

v2 列的显示宽度为 3 的 ZEROFILL。因此,它的值为 6,其它值以 00 填充。

v3 列的显示宽度为 5 的 ZEROFILL,而其值为 9,因此 MySQL 在输出中的 0000 数字的开头填充。

注意:如果 ZEROFILL 对整数列使用属性,MySQL 将自动向列添加 UNSIGNED 属性。

到此,相信大家对“mysql int 指的是什么”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计2470字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)