当前位置:网站首页>MySQL BIGINT 数据类型
MySQL BIGINT 数据类型
2022-07-30 20:15:00 【web13618542420】
本文重点介绍 MySQL BIGINT 数据类型,并研究我们如何使用它来存储整数值。我们还将了解它的范围、存储大小和各种属性,包括有符号、无符号和零填充。
整数类型(精确值) - INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT
MySQL 支持 SQL 标准整数类型INTEGER(或INT)和SMALLINT.作为标准的扩展,MySQL 还支持整数类型TINYINT、MEDIUMINT和BIGINT.下表显示了每种整数类型所需的存储空间和范围。
表 11.1 MySQL 支持的整数类型所需的存储和范围
类型
存储(字节)
签名的最小值
最小值无符号
签署的最大值
最大值无符号
TINYINT
1
-128
0
127
255
SMALLINT
2
-32768
0
32767
65535
MEDIUMINT
3
-8388608
0
8388607
16777215
INT
4
-2147483648
0
2147483647
4294967295
BIGINT
8
-263
0
263-1
264-1
MySQL BIGINT
BIGINT 是 ab 字节或 64 位整数值,在存储大整数值时非常有用。
MySQL BIGINT 与任何其他 MySQL 整数数据类型一样,可以是有符号或无符号的。有符号数据类型表示该列可以存储正整数和负整数值。这是 MySQL 中大多数整数类型的默认类型。因此,除非明确指定,否则任何整数类型列都可以存储正整数和负整数。
另一方面,无符号数据类型表示该列只能存储正整数值。
签名 MySQL BIGINT 类型的范围在 -9223372036854775808 和 9223372036854775807 之间
对于无符号 BIGINT 类型,取值范围为 0 到 18446744073709551615。
BIGINT 类型的另一个属性是 ZEROFILL。在列上指定此属性后,该列将自动设置为 UNSIGNED。
zerofill 属性也用零填充空格。
例子
让我们看几个例子来说明如何使用 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;
+---+------+----------------------+
| x | y | z |
+---+------+----------------------+
| 1 | 2 | 00000000000000000003 |
+---+------+----------------------+
1 row in <strong>set</strong> (0.01 sec)
示例 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;

结论
在本教程中,我们讨论了 MySQL BININT 类型及其各种属性的范围。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢

一文2500字手把手教你配置Jenkins自动化邮件通知

第04章 逻辑架构【1.MySQL架构篇】【MySQL高级】

MySQL的on duplicate key update 的使用
![[PM only] Quickly count who else in the team has not registered and reported information, and quickly screen out the members of their own project team who have not completed the list of XXX work items](/img/74/94c254b7694a77d635f5f538a72fe0.png)
[PM only] Quickly count who else in the team has not registered and reported information, and quickly screen out the members of their own project team who have not completed the list of XXX work items

Mac安装PHP开发环境

Recommender systems: overview of the characteristics of architecture: user/item engineering -- -- -- -- -- -- -- -- > recall layer > sort layer - > test/evaluation 】 【 cold start problems, real-time 】

vookloop函数怎么用?vlookup函数的使用方法介绍

MySQL 高级(进阶) SQL 语句 (一)

Install MySQL tutorial under Linux
Typora设置标题自动标号
随机推荐
How to copy table structure and table data in MySQL
18.客户端会话技术Cookie
啊?现在初级测试招聘都要求会自动化了?
Recommender systems: overview of the characteristics of architecture: user/item engineering -- -- -- -- -- -- -- -- > recall layer > sort layer - > test/evaluation 】 【 cold start problems, real-time 】
MySQL的DATE_FORMAT()函数将Date转为字符串
MySQL的Replace用法详解
Oblique document scanning and character recognition (opencv, coordinate transformation analysis)
Android Studio 实现登录注册-源代码 (连接MySql数据库)
TensorFlow2: Overview
为单行查询设置JDBC Statement.setFetchSize()为1的方法指南
MySQL的 DDL和DML和DQL的基本语法
Flink_CDC搭建及简单使用
Android studio连接MySQL并完成简单的登录注册功能
Snowflake vs. Redshift的2022战报:两个数据平台谁更适合你?
PR视频剪辑软件教程
[c语言]二维数组动态分配内存
利用go制作微信机器人
推荐系统:概述【架构:用户/物品特征工程---->召回层---->排序层---->测试/评估】【冷启动问题、实时性问题】
Scala类中的属性
MySql 创建索引