![](https://img-blog.csdnimg.cn/20210131203025549.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
官方 MySQL 参考手册
文章平均质量分 69
官方 MySQL 8.0 参考手册英文版翻译,纯手工翻译,方便学习和查阅,不定期更新。
一线大码
CSDN不更新了,已转掘金。主页:https://juejin.cn/user/3280598429340984
展开
-
11.5 JSON 数据类型
文章目录部分更新 JSON 值创建 JSON 值官方文档地址:11.5 The JSON Data TypeMySQL 支持由 RFC 7159 定义的原生 JSON 数据类型,可以有效地访问 JSON(JavaScript 对象符号)文档中的数据。与将 JSON 格式的字符串存储在字符串列中相比,JSON 数据类型有以下优点:自动验证存储在 JSON 列的 JSON 文档。无效文档会产生错误。优化的存储格式。存储在 JSON 列中的 JSON 文档被转换为一种内部格式,允许对文档元素进行快速读原创 2021-12-25 23:30:59 · 1353 阅读 · 0 评论 -
11.4 空间数据类型
官方文档地址:11.4 Spatial Data Types11.4.1 Spatial Data Types11.4.2 The OpenGIS Geometry Model11.4.3 Supported Spatial Data Formats11.4.4 Geometry Well-Formedness and Validity11.4.5 Spatial Reference System Support11.4.6 Creating Spatial Columns11.4.7 Po原创 2021-12-25 10:33:35 · 585 阅读 · 0 评论 -
9.1.5 位值字面量
官方文档地址:9.1.5 Bit-Value Literals位值字面值使用b'val'或0bval表示法书写。 val是一个用0和1写的二进制值。前导b不区分大小写。 前导0b区分大小写,不能写成0B。合法的位值字面量:b'01'B'01'0b01非法的位值字面量:b'2' (2 不是二进制数)0B01 (0B 必须被写为 0b)默认情况下,位值字面量是一个二进制字符串:mysql> SELECT b'1000001', CHARSET(b'1000001');原创 2021-12-24 23:45:49 · 301 阅读 · 0 评论 -
9.1 字面量值
官方文档地址:9.1 Literal Values9.1.1 String Literals9.1.2 Numeric Literals9.1.3 Date and Time Literals9.1.4 Hexadecimal Literals9.1.5 Bit-Value Literals9.1.6 Boolean Literals9.1.7 NULL Values本节介绍如何在 MySQL 中写入字面量值。它们包括字符串、数字、十六进制和位值、布尔值和NULL。这一节还介绍了在 MyS原创 2021-12-24 23:01:59 · 323 阅读 · 0 评论 -
2.1.1 支持的平台
官方文档地址:2.1.1 Supported Platforms支持 MySQL 的平台会随着时间而变化;请参考 支持的平台:MySQL 数据库 获取最新的更新。原创 2021-07-15 22:31:47 · 67 阅读 · 0 评论 -
2.1 常规的安装指导
官方文档地址:2.1 General Installation Guidance2.1.1 Supported Platforms2.1.2 Which MySQL Version and Distribution to Install2.1.3 How to Get MySQL2.1.4 Verifying Package Integrity Using MD5 Checksums or GnuPG2.1.5 Installation Layouts2.1.6 Compiler-Specif原创 2021-07-15 22:23:33 · 119 阅读 · 0 评论 -
12.6.2 数学函数
官方文档地址:12.6.2 Mathematical Functions表 12.10 数学函数名称描述ABS()返回绝对值ACOS()返回反余弦ASIN()返回反正弦ATAN()返回反正切ATAN2(),ATAN()返回两个参数的反正切CEIL()返回不小于参数的最小整数值CEILING()返回不小于参数的最小整数值CONV()在不同的数基之间转换数字COS()返回余弦COT()返回余切CRC32()原创 2021-06-05 14:53:51 · 303 阅读 · 2 评论 -
12.6 数值函数和运算符
官方文档地址:12.6 Numeric Functions and Operators12.6.1 Arithmetic Operators12.6.2 Mathematical Functions表 12.8 数值函数和运算符名称描述%,MOD模运算符*乘法运算符+加法运算符-减法运算符-改变参数的符号/除法运算符ABS()返回绝对值ACOS()返回反余弦ASIN()返回反正弦ATAN()返回反正切原创 2021-06-05 00:41:26 · 156 阅读 · 1 评论 -
12.6.1 算术运算符
官方文档地址:12.6.1 Arithmetic Operators表 12.9 算术运算符名称描述%,MOD模运算符*乘法运算符+加法运算符-减法运算符-改变参数的符号/除法运算符DIV整数除法可以使用常用的算术运算符。结果按以下规则确定:在-、+和*的情况下,如果两个操作数都是整数,则以BIGINT(64位)精度计算结果。如果两个操作数都是整数且其中任何一个是无符号的,则结果为无符号整数。对于减法,如果NO_UNSI原创 2021-06-05 00:39:20 · 157 阅读 · 0 评论 -
8.4 优化数据库结构
官方文档地址:8.4 Optimizing Database Structure8.4.1 Optimizing Data Size8.4.2 Optimizing MySQL Data Types8.4.3 Optimizing for Many Tables8.4.4 Internal Temporary Table Use in MySQL8.4.5 Limits on Number of Databases and Tables8.4.6 Limits on Table Size8.原创 2021-04-25 19:52:38 · 110 阅读 · 0 评论 -
8.4.7 对表列数和行大小的限制
文章目录列数限制行大小限制行大小限制示例官方文档地址:8.4.7 Limits on Table Column Count and Row Size本节描述对表中列数和单个行大小的限制。列数限制MySQL 有每个表4096列的硬性限制,但是对于一个给定的表,有效的最大列数可能更少。一个表中的最大列数取决于几个因素:表的最大的行大小限制了列的数量(也可能会限制到列的大小),因为一个表中的所有列的总长度不能超过这个大小。(译者注:最大的行大小是确定的,每个列都会占用一部分大小,所以总列数肯定原创 2021-04-25 19:32:01 · 412 阅读 · 0 评论 -
26.55 SHOW 语句的扩展
这篇发不了原创和翻译,只能发为转载了,o(╯□╰)o官方文档地址:26.55 Extensions to SHOW Statements结合INFORMATION_SCHEMA实现了一些SHOW语句的扩展:SHOW可用于获取关于INFORMATION_SCHEMA本身的结构信息。一些SHOW语句接受WHERE子句,该子句在指定显示哪些行方面提供了更大的灵活性。INFORMATION_SCHEMA是一个信息数据库,因此在SHOW DATABASES的输出中包含它的名称。类似地,SHOW TAB原创 2021-03-23 21:53:27 · 178 阅读 · 0 评论 -
13.7.7.39 SHOW TABLES 语句
官方文档地址:13.7.7.39 SHOW TABLES StatementSHOW [EXTENDED] [FULL] TABLES [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]SHOW TABLES列出给定数据库中的非临时表。您还可以使用mysqlshow db_name命令获取此列表。如果有LIKE子句,则表示要匹配哪些表名。还可以用WHERE子句使用更通用的条件来选择行,如 26.55 SHOW 语句的扩展 中讨论的那原创 2021-03-20 22:08:38 · 1600 阅读 · 0 评论 -
13.7.7.42 SHOW WARNINGS 语句
官方文档地址:13.7.7.42 SHOW WARNINGS StatementSHOW WARNINGS [LIMIT [offset,] row_count]SHOW COUNT(*) WARNINGSSHOW WARNINGS是一个诊断语句,用于显示由于在当前会话中执行语句而导致的情况(error、waring和note)信息。DML 语句(如INSERT、UPDATE、LOAD DATA)和 DDL 语句(如CREATE TABLE、ALTER TABLE)都会产生警告。LIMIT子句原创 2021-03-20 23:04:10 · 1318 阅读 · 0 评论 -
13.7.7.38 SHOW TABLE STATUS 语句
官方文档地址:13.7.7.38 SHOW TABLE STATUS StatementSHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]SHOW TABLE STATUS像SHOW TABLES一样工作,但是提供了关于每个非临时表的大量信息。您还可以使用mysqlshow--status db_name命令获取此列表。如果有LIKE子句,则表示要匹配哪些表名。还可以用WHERE子句使用更通用的条原创 2021-03-20 16:46:00 · 436 阅读 · 1 评论 -
13.7.7.16 SHOW ENGINES 语句
官方文档地址:13.7.7.16 SHOW ENGINES StatementSHOW [STORAGE] ENGINESSHOW ENGINES显示服务器存储引擎的状态信息。这对于检查是否支持某个存储引擎或查看默认引擎是什么特别有用。查询有关 MySQL 存储引擎的信息,参见 第15章 InnoDB 存储引擎 和 第16章 可供选择的存储引擎。mysql> SHOW ENGINES\G*************************** 1. row ****************原创 2021-03-20 14:05:55 · 543 阅读 · 0 评论 -
13.7.7 SHOW 语句
官方文档地址:13.7.7 SHOW Statements13.7.7.1 SHOW BINARY LOGS Statement13.7.7.2 SHOW BINLOG EVENTS Statement13.7.7.3 SHOW CHARACTER SET Statement13.7.7.4 SHOW COLLATION Statement13.7.7.5 SHOW COLUMNS Statement13.7.7.6 SHOW CREATE DATABASE Statement13.7.7.原创 2021-03-20 11:53:07 · 151 阅读 · 2 评论 -
13.7 数据库管理语句
官方文档地址:13.7 Database Administration Statements13.7.1 账户管理语句13.7.2 资源组管理语句13.7.3 表维护语句13.7.4 组件、插件和用户定义的函数语句13.7.5 CLONE 语句13.7.6 SET 语句13.7.7 SHOW 语句13.7.8 其它管理语句...原创 2021-03-18 09:47:56 · 106 阅读 · 0 评论 -
10.3.7 预定义字符集
官方文档地址:10.3.7 The National Character Set标准 SQL 定义NCHAR或NATIONAL CHAR用来指示CHAR列应该使用一些预定义字符集。MySQL 使用utf8作为这个预定义字符集。例如,这些数据类型声明是等价的:CHAR(10) CHARACTER SET utf8NATIONAL CHARACTER(10)NCHAR(10)这些也是:VARCHAR(10) CHARACTER SET utf8NATIONAL VARCHAR(10)NVAR原创 2021-03-15 20:33:09 · 200 阅读 · 0 评论 -
10.3.5 列字符集和排序规则
官方文档地址:10.3.5 Column Character Set and Collation每个“字符”列(也就是说,类型为CHAR、VARCHAR、TEXT类型或任何同义词的列)都有一个列字符集和一个列排序规则。CREATE TABLE和ALTER TABLE的列定义语法有指定列字符集和排序规则的可选子句:col_name {CHAR | VARCHAR | TEXT} (col_length) [CHARACTER SET charset_name] [COLLATE coll原创 2021-03-15 16:37:19 · 145 阅读 · 0 评论 -
10.3 指定字符集和排序规则
官方文档地址:10.3 Specifying Character Sets and Collations10.3.1 Collation Naming Conventions10.3.2 Server Character Set and Collation10.3.3 Database Character Set and Collation10.3.4 Table Character Set and Collation10.3.5 Column Character Set and Collati原创 2021-03-15 11:34:13 · 181 阅读 · 0 评论 -
11.9 使用来自其他数据库供应商的数据类型
官方文档地址:11.9 Using Data Types from Other Database Engines为了方便使用根据其他供应商的 SQL 实现编写的代码,MySQL 映射了如下表所示的数据类型。这些映射使得将表定义从其他数据库系统导入 MySQL 变得更加容易。其他供应商类型MySQL 类型BOOLTINYINTBOOLEANTINYINTCHARACTER VARYING(M)VARCHAR(M)FIXEDDECIMALFLOAT4F原创 2021-03-15 10:57:28 · 304 阅读 · 0 评论 -
11.8 为列选择正确的类型
官方文档地址:11.8 Choosing the Right Type for a Column为了获得最佳存储,您应该在所有情况下尝试使用最精确的类型。例如,如果一个整数列用于1到99999之间的值,那么MEDIUMINT UNSIGNED是最合适的类型。在表示所有所需值的类型中,这种类型使用的存储空间最少。所有带有DECIMAL列的基本计算(+、-、*和/)都以65位十进制(以10为基数)数字的精度完成。参见 11.1.1 数值数据类型语法。如果准确性不是很重要,或者速度是最重要的,DOUBLE原创 2021-03-15 10:44:42 · 88 阅读 · 0 评论 -
11.7 数据类型存储要求
文章目录InnoDB 表存储要求NDB 表存储要求数值类型存储要求日期和时间类型的存储要求字符串类型的存储要求空间类型存储要求JSON 类型存储要求官方文档地址:11.7 Data Type Storage Requirements在磁盘上对表数据的存储要求取决于几个因素。不同的存储引擎表示数据类型以不同的方式存储原始数据。对于一个列或整个行,表数据可能会被压缩,从而使表或列的存储需求计算变得更加复杂。尽管磁盘上的存储布局不同,内部的 MySQL APIs 使用一致的数据结构通信和交换关于表行的信息原创 2021-03-15 00:05:11 · 1587 阅读 · 0 评论 -
11.6 数据类型默认值
文章目录在 MySQL 8.0.13 中显式默认值处理MySQL 8.0.13 之前的显式默认值处理隐式默认值处理官方文档地址:11.6 Data Type Default Values数据类型规范可以有显式或隐式的默认值。数据类型规范中的DEFAULT value子句显式指示列的默认值。例如:CREATE TABLE t1 ( i INT DEFAULT -1, c VARCHAR(10) DEFAULT '', price DOUBLE(16,2) DEFAULT原创 2021-03-14 21:27:02 · 834 阅读 · 0 评论 -
11.3 字符串数据类型
官方文档地址:11.3 String Data Types11.3.1 字符串数据类型语法11.3.2 CHAR 和 VARCHAR 类型11.3.3 BINARY 和 VARBINARY 类型11.3.4 BLOB 和 TEXT 类型11.3.5 ENUM 类型11.3.6 SET 类型字符串数据类型包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。有关字符串数据类型的存储要求的信息,参见 11.7 数据类型存储需求。用于描述对字符串原创 2021-03-14 16:50:05 · 302 阅读 · 0 评论 -
11.3.6 SET 类型
官方文档地址:11.3.6 The SET TypeSET是一个有零个或多个值字符串对象,每个值都必须从创建表时指定的允许值列表中选择。由多个成员组成的SET列值用逗号(,)分隔。这样做的结果是,SET成员值本身不应该包含逗号。例如,指定为SET('one', 'two') NOT NULL的列可以有以下任何一个值:'''one''two''one,two'一个SET列最多可以有64个不同的成员。如果启用了严格SQL模式,定义中的重复值将导致警告或错误。创建表时,表定义中的SET成员值原创 2021-03-14 16:43:51 · 106 阅读 · 0 评论 -
11.3.5 ENUM 类型
文章目录创建和使用 ENUM 列枚举字面量的索引值处理枚举字面量空或 NULL 枚举值枚举排序枚举限制官方文档地址:11.3.5 The ENUM Type枚举是一个字符串对象,其值从允许的值列表中选择,这些值是在表创建的时后在列规范中显式的列举的。请参阅 11.3.1 字符串数据类型语法,了解ENUM类型语法和长度限制。ENUM类型有以下优点:在列的可能值集有限的情况下压缩数据存储。指定为输入值的字符串将自动编码为数字。ENUM类型对存储的要求,请参见 11.7 数据类型存储需求。可读的查原创 2021-03-14 15:53:29 · 151 阅读 · 0 评论 -
11.3.4 BLOB 和 TEXT 类型
官方文档地址:11.3.4 The BLOB and TEXT TypesBLOB是一个二进制大对象,可以保存可变数量的数据。四种BLOB类型是TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们的不同之处在于它们所能保存的值的最大长度。四种TEXT类型是TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。它们对应于四种BLOB类型,具有相同的最大长度和存储要求。参见 11.7 数据类型存储要求。BLOB值被视为二进制字符串(字节字符串)。它们具有二进制字符集和排序原创 2021-03-14 13:58:30 · 542 阅读 · 0 评论 -
11.3.3 BINARY 和 VARBINARY 类型
官方文档地址:11.3.3 The BINARY and VARBINARY TypesBINARY和VARBINARY类型与CHAR和VARCHAR类似,不同之处是它们存储的是二进制字符串而不是非二进制字符串。也就是说,它们存储的是字节字符串而不是字符字符串。这意味着它们具有二进制字符集和排序规则,比较和排序基于值中字节的数值。BINARY和VARBINARY允许的最大长度与CHAR和VARCHAR相同,不同的是BINARY和VARBINARY的长度是以字节而不是字符来度量的。BINARY和VAR原创 2021-03-14 12:37:00 · 2339 阅读 · 0 评论 -
11.3.2 CHAR 和 VARCHAR 类型
官方文档地址:11.3.2 The CHAR and VARCHAR TypesCHAR和VARCHAR类型很相似,但是它们的存储和检索方式不同。它们在最大长度和是否保留尾随空格方面也存在差异。CHAR和VARCHAR类型声明的长度表示希望存储的最大字符数。例如,CHAR(30)最多可以容纳30个字符。CHAR列的长度固定为创建表时声明的长度。长度范围为0 ~ 255。当存储CHAR值时,它们将被空格右填充到指定的长度。当检索CHAR值时,末尾的空格将被删除,除非启用了PAD_CHAR_TO_FUL原创 2021-03-13 23:14:12 · 169 阅读 · 0 评论 -
11.3.1 字符串数据类型语法
文章目录CHARVARCHARBINARYVARBINARYTINYBLOBTINYTEXTBLOBTEXTMEDIUMBLOBMEDIUMTEXTLONGBLOBLONGTEXTENUMSET官方文档地址:11.3.1 String Data Type Syntax字符串数据类型包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。在某些情况下,MySQL 可能会将字符串列更改为与CREATE TABLE或ALTER TABLE语句中给出的类型不同的原创 2021-03-13 21:49:34 · 237 阅读 · 0 评论 -
11.1 数值数据类型
官方文档地址:11.1 Numeric Data Types11.1.1 数值数据类型语法11.1.2 整数类型(精确值)- INTEGER,INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT11.1.3 定点类型(精确值)- DECIMAL,NUMERIC11.1.4 浮点类型(近似值)- FLOAT,DOUBLE11.1.5 位值类型 - BIT11.1.6 数值类型属性11.1.7 超出范围和溢出处理MySQL 支持所有标准的 SQL 数值数据类型。这些类型包原创 2021-03-13 15:18:03 · 304 阅读 · 0 评论 -
11.1.6 数值类型属性
官方文档地址:11.1.6 Numeric Type AttributesMySQL 支持一个扩展,可以在类型的基础关键字后面的圆括号中选择性地指定整数数据类型的显示宽度。例如,INT(4)指定一个显示宽度为4位的整数。应用程序可以使用这个可选的显示宽度来显示(宽度小于指定显示宽度,用空格左填充到指定列宽度)整数值。(也就是说,这个宽度出现在结果集返回的元数据中。是否使用它取决于应用程序。)显示宽度不限制可存储在列中的值的范围。它也不会阻止比列显示宽度宽的值正确显示。例如,指定为SMALLINT(3)原创 2021-03-13 12:48:55 · 196 阅读 · 0 评论 -
11.1.7 超出范围和溢出处理
文章目录超出范围溢出处理官方文档地址:11.1.7 Out-of-Range and Overflow Handling超出范围当 MySQL 将值存储在超出列数据类型允许范围的数值列中时,结果取决于当时的 SQL 模式:如果启用了严格 SQL 模式,MySQL 会按照 SQL 标准拒绝超出范围的值并产生错误,导致插入失败。如果没有启用限制模式,MySQL 将值剪辑到列数据类型范围的适当端点,并存储结果值。当将超出范围的值分配给整数列时,MySQL 存储该列数据类型范围的相应端点的值。当一原创 2021-03-13 13:45:39 · 552 阅读 · 0 评论 -
11.1.5 位值类型 - BIT
官方文档地址:11.1.5 Bit-Value Type - BITBIT数据类型用于存储位值。一个BIT(M)类型可以存储M位值。M的取值范围是1 ~ 64。要指定位值,可以使用b'value'表示法。value是用0和1写的二进制值。例如,b'111'和b'1000000'分别代表7和128,参见 9.1.5 位值字面量。如果将一个长度小于M位的值赋给BIT(M)列,该值将在左侧用零填充。例如,将b'101'的值分配给一个BIT(6)列,实际上与直接分配b'000101'的值结果相同。NDB集原创 2021-03-13 12:02:20 · 411 阅读 · 0 评论 -
11.1.4 浮点类型(近似值)- FLOAT,DOUBLE
官方文档地址:11.1.4 Floating-Point Types (Approximate Value) - FLOAT, DOUBLEFLOAT和DOUBLE类型用来表示近似的数值数据。MySQL 使用4个字节表示单精度值,8个字节表示双精度值。对于FLOAT,标准 SQL 允许在关键字FLOAT后面的圆括号中指定位的精度(但是不是位数的取值范围);也就是说FLOAT(p)。MySQL 也支持这个可选的精度规范,但是FLOAT(p)中的精度值仅用于确定存储大小。精度为0到23会产生一个4字节的单原创 2021-03-13 11:40:22 · 624 阅读 · 0 评论 -
11.1.3 定点类型(精确值)- DECIMAL,NUMERIC
官方文档地址:11.1.3 Fixed-Point Types (Exact Value) - DECIMAL, NUMERICDECIMAL和NUMERIC类型用来存储精确的数值数据。当需要保持精确的精度时使用这些类型,例如货币数据。在 MySQL 中,NUMERIC被实现为DECIMAL,所以下面关于DECIMAL的说明同样适用于NUMERIC。MySQL 以二进制格式存储DECIMAL值。参见12.25 精确的数学。在DECIMAL列声明中,可以(通常是)指定精度和刻度。例如:salary原创 2021-03-13 11:16:06 · 788 阅读 · 0 评论 -
11.1.2 整数类型(精确值)- INTEGER,INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT
官方文档地址:11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINTMySQL 支持 SQL 标准整数类型INTEGER(或INT)和SMALLINT。作为对标准的扩展,MySQL 还支持其他的整数类型TINYINT、MEDIUMINT和BIGINT。下表显示了每种整数类型所需的存储空间和取值范围。MySQL 支持的整数类型所需的存储空间和范围:类型存储(Bytes)有原创 2021-03-13 10:49:10 · 192 阅读 · 0 评论 -
11.1.1 数值数据类型语法
文章目录BIT[(M)]TINYINT[(M)] [UNSIGNED] [ZEROFILL]BOOL, BOOLEANSMALLINT[(M)] [UNSIGNED] [ZEROFILL]MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]INT[(M)] [UNSIGNED] [ZEROFILL]INTEGER[(M)] [UNSIGNED] [ZEROFILL]BIGINT[(M)] [UNSIGNED] [ZEROFILL]DECIMAL[(M[,D])] [UNSIGNED] [原创 2021-03-12 23:22:09 · 274 阅读 · 0 评论