文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql int指的是什么

2024-04-02 19:55

关注

本篇内容主要讲解“mysql int指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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 
    *
FROM
    items;

mysql int指的是什么

之后,插入一个新行,明确指定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 int指的是什么

注意:自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
FROM
    zerofill_tests;

mysql int指的是什么

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

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

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

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯