搜索
首页数据库mysql教程mysql的长整型是什么

mysql的长整型是什么

Jun 14, 2022 pm 04:40 PM
mysql

mysql的长整型是“BIGINT”。BIGINT是ab字节或64位整数值,在存储极大整数值时非常有用。BIGINT与其他整数数据类型一样,可以是有符号或无符号的;有符号数据类型表示该列可以存储正整数和负整数值,而无符号数据类型表示该列只能存储正整数值。有符号BIGINT类型的范围在“-9223372036854775808”和“9223372036854775807”之间。

mysql的长整型是什么

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

整数类型又称数值型数据,数值型数据类型主要用来存储数字。

MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。

MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1个字节 (-128,127) (0,255) 小整数值
SMALLINT 2个字节 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3个字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4个字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8个字节 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

从上表中可以看到,不同类型的整数存储所需的字节数不相同,占用字节数最小的是 TINYINT 类型,占用字节最大的是 BIGINT 类型,占用的字节越多的类型所能表示的数值范围越大。因而,mysql的长整型是“BIGINT”。

MySQL BIGINT

BIGINT 是 ab 字节或 64 位整数值,在存储大整数值时非常有用。

MySQL BIGINT 与任何其他 MySQL 整数数据类型一样,可以是有符号或无符号的。有符号数据类型表示该列可以存储正整数和负整数值。这是 MySQL 中大多数整数类型的默认类型。因此,除非明确指定,否则任何整数类型列都可以存储正整数和负整数。

另一方面,无符号数据类型表示该列只能存储正整数值。

有符号 MySQL BIGINT 类型的范围在 -9223372036854775808 和 9223372036854775807 之间

对于无符号 BIGINT 类型,取值范围为 0 到 18446744073709551615。

BIGINT 类型的另一个属性是 ZEROFILL。在列上指定此属性后,该列将自动设置为 UNSIGNED。

zerofill 属性也用零填充空格。

BIGINT示例:

让我们看几个例子来说明如何使用 BIGINT 类型。

CREATE DATABASE IF NOT EXISTS integers;
USE integers;

下来,让我们创建一个表并用各种 BIGINT 列填充它,如下面的查询所示:

CREATE TABLE examples(x BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, y BIGINT UNSIGNED, z BIGINT ZEROFILL );

示例 1

让我们首先尝试将所有正值添加到表中:

INSERT INTO examples(x,y,z) VALUES (1,2,3);

在上面的示例查询中,这些值是可接受的,因为它们在有符号、无符号和 zerofill BIGINT 类型的范围内。

SELECT * FROM examples;

1.png

示例 2

在下一个案例中,让我们尝试添加所有负值。示例查询如下:

INSERT INTO examples(x,y,z) VALUES (-1,-2,-3);
ERROR 1264 (22003): Out of range value for column 'y' at row 1

在这种情况下,查询失败,因为 y 列是无符号的。因此,为列分配负值超出了列范围。

示例 3

我们可以观察到与上述第三列类似的情况。zerofill 属性自动使列无符号,使添加负值超出范围。一个例子是:

INSERT INTO examples(x,y,z) VALUES (-1,2,-3);
ERROR 1264 (22003): Out of range value for column 'z' at row 1

示例 4

现在让我们尝试添加每种类型的最大值。一个示例查询是:

INSERT INTO examples(x,y,z) VALUES (-9223372036854775808, 9223372036854775808, 9223372036854775808);

在上面的示例中,由于所有值都在范围内,因此查询成功执行。

考虑下面的查询:

INSERT INTO examples(x,y,z) VALUES (9223372036854775807, 9223372036854775808, 9223372036854775808);

您会注意到所有值都在最大值上。由于 x 列设置为 AUTO_INCREMENT,因此向其添加值将失败。

INSERT INTO examples(y,z) VALUES (9223372036854775808, 9223372036854775808);
ERROR 1062 (23000): Duplicate entry '9223372036854775807' for key 'examples.PRIMARY'

但是,如果在 MySQL 中禁用了严格模式,您可以插入超出范围的值。

SELECT * FROM examples;

2.png

【相关推荐:mysql视频教程

以上是mysql的长整型是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您可以使用哪些工具来监视MySQL性能?您可以使用哪些工具来监视MySQL性能?Apr 23, 2025 am 12:21 AM

如何有效监控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。1.使用mysqladmin查看连接数。2.用SHOWGLOBALSTATUS查看查询数。3.PMM提供详细性能数据和图形化界面。4.MySQLEnterpriseMonitor提供丰富的监控功能和报警机制。

MySQL与SQL Server有何不同?MySQL与SQL Server有何不同?Apr 23, 2025 am 12:20 AM

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显着差异,选择时需考虑项目规模和未来扩展性。

在哪些情况下,您可以选择SQL Server而不是MySQL?在哪些情况下,您可以选择SQL Server而不是MySQL?Apr 23, 2025 am 12:20 AM

在需要高可用性、高级安全性和良好集成性的企业级应用场景下,应选择SQLServer而不是MySQL。1)SQLServer提供企业级功能,如高可用性和高级安全性。2)它与微软生态系统如VisualStudio和PowerBI紧密集成。3)SQLServer在性能优化方面表现出色,支持内存优化表和列存储索引。

MySQL如何处理角色集和碰撞?MySQL如何处理角色集和碰撞?Apr 23, 2025 am 12:19 AM

mySqlManagesCharacterSetsetSandCollat​​ionsyutusututf-8asthEdeFault,允许ConfigurationAtdataBase,table和columnlevels,AndrequiringCarefullageLignmentToavoidMismatches.1)setDefeaultCharactersetTercharactersetEtCollacterSeteTandColletationForAdataBase.2)conformentcollecharactersettersetertersetcollat​​ertersetcollat​​ioncollat​​ion

MySQL中有什么触发器?MySQL中有什么触发器?Apr 23, 2025 am 12:11 AM

MySQL触发器是与表相关联的自动执行的存储过程,用于在特定数据操作时执行一系列操作。1)触发器定义与作用:用于数据校验、日志记录等。2)工作原理:分为BEFORE和AFTER,支持行级触发。3)使用示例:可用于记录薪资变更或更新库存。4)调试技巧:使用SHOWTRIGGERS和SHOWCREATETRIGGER命令。5)性能优化:避免复杂操作,使用索引,管理事务。

您如何在MySQL中创建和管理用户帐户?您如何在MySQL中创建和管理用户帐户?Apr 22, 2025 pm 06:05 PM

在MySQL中创建和管理用户账户的步骤如下:1.创建用户:使用CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';2.分配权限:使用GRANTSELECT,INSERT,UPDATEONmydatabase.TO'newuser'@'localhost';3.修正权限错误:使用REVOKEALLPRIVILEGESONmydatabase.FROM'newuser'@'localhost';然后重新分配权限;4.优化权限:使用SHOWGRA

MySQL与Oracle有何不同?MySQL与Oracle有何不同?Apr 22, 2025 pm 05:57 PM

MySQL适合快速开发和中小型应用,Oracle适合大型企业和高可用性需求。1)MySQL开源、易用,适用于Web应用和中小型企业。2)Oracle功能强大,适合大型企业和政府机构。3)MySQL支持多种存储引擎,Oracle提供丰富的企业级功能。

与其他关系数据库相比,使用MySQL的缺点是什么?与其他关系数据库相比,使用MySQL的缺点是什么?Apr 22, 2025 pm 05:49 PM

MySQL相比其他关系型数据库的劣势包括:1.性能问题:在处理大规模数据时可能遇到瓶颈,PostgreSQL在复杂查询和大数据处理上表现更优。2.扩展性:水平扩展能力不如GoogleSpanner和AmazonAurora。3.功能限制:在高级功能上不如PostgreSQL和Oracle,某些功能需要更多自定义代码和维护。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具