MySQL 8.4 Reference Manual  /  Language Structure  /  Keywords and Reserved Words

11.3 关键字和保留字

关键字是 SQL 中具有特殊意义的词语。某些关键字,如SELECTDELETEBIGINT,是保留的,需要特殊处理以便作为标识符,如表名和列名。对内置函数的名称也可能如此。

非保留关键字可以作为标识符使用,无需引号。保留词语可以作为标识符使用,但需要按照第11.2节,“Schema Object Names”中描述的方式加引号。

mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000): You have an error in your SQL syntax ...
near 'interval (begin INT, end INT)'

BEGINEND是关键字,但不是保留的,因此它们作为标识符使用不需要加引号。INTERVAL是一个保留关键字,必须被加引号以便作为标识符:

mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)

例外:在qualified name中,如果一个词语跟随一个点,则它必须是标识符,因此即使它是保留的,也不需要加引号:

mysql> CREATE TABLE mydb.interval (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)

内置函数的名称可以用作标识符,但需要小心使用。例如,COUNT 可以作为列名。但是,默认情况下,不允许在函数调用中出现空格,这样可以使解析器区分函数调用和非函数上下文。关于函数名称识别的详细信息,请见第11.2.5节,“Function Name Parsing and Resolution”

MySQL中的INFORMATION_SCHEMA.KEYWORDS表列出了MySQL中被认为是关键字的单词,并且指示它们是否保留。见第28.3.17节,“The INFORMATION_SCHEMA KEYWORDS Table”

MySQL 8.4 关键字和保留字

以下列表显示了 MySQL 8.4 中的关键字和保留字,以及从版本到版本的变化。保留关键字以(R)标记。此外,_FILENAME 也被保留。

在某个时候,您可能会升级到更高版本,因此查看未来的保留字也是一个好主意。您可以在涵盖 MySQL 高版本的手册中找到这些保留字。大多数列表中的保留字在标准 SQL 中被禁止用作列或表名(例如,GROUP)。少数是因为 MySQL 需要它们,并使用一个yacc解析器。

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

A

  • ACCESSIBLE (R)

  • ACCOUNT

  • ACTION

  • ACTIVE

  • ADD (R)

  • ADMIN

  • AFTER

  • AGAINST

  • AGGREGATE

  • ALGORITHM

  • ALL (R)

  • ALTER (R)

  • ALWAYS

  • ANALYZE (R)

  • AND (R)

  • ANY

  • ARRAY

  • AS (R)

  • ASC (R)

  • ASCII

  • ASENSITIVE (R)

  • AT

  • ATTRIBUTE

  • AUTHENTICATION

  • AUTO

  • AUTOEXTEND_SIZE

  • AUTO_INCREMENT

  • AVG

  • AVG_ROW_LENGTH

B

  • BACKUP

  • BEFORE (R)

  • BEGIN

  • BERNOULLI

  • BETWEEN (R)

  • BIGINT (R)

  • BINARY (R)

  • BINLOG

  • BIT

  • BLOB (R)

  • 布尔值

  • 布尔类型

  • 双方 (R)

  • BTREE

  • 桶数

  • 批量

  • BY (R)

  • 字节

C

  • 缓存

  • 调用 (R)

  • 级联 (R)

  • 级联后的

  • switch (R)

  • 目录名称

  • 链式

  • 挑战响应

  • 更改 (R)

  • 已更改

  • 通道

  • 字符 (R)

  • 字符类型 (R)

  • 字符集

  • 检查 (R)

  • 校验和

  • 加密

  • 类别起源

  • 客户端

  • 克隆

  • 关闭

  • COALESCE

  • 代码

  • 排序 (R)

  • 排序规则

  • (R)

  • COLUMNS

  • COLUMN_FORMAT

  • COLUMN_NAME

  • COMMENT

  • COMMIT

  • COMMITTED

  • COMPACT

  • COMPLETION

  • COMPONENT

  • COMPRESSED

  • COMPRESSION

  • CONCURRENT

  • CONDITION (R)

  • CONNECTION

  • CONSISTENT

  • CONSTRAINT (R)

  • CONSTRAINT_CATALOG

  • CONSTRAINT_NAME

  • CONSTRAINT_SCHEMA

  • CONTAINS

  • CONTEXT

  • CONTINUE (R)

  • CONVERT (R)

  • CPU

  • CREATE (R)

  • CROSS (R)

  • CUBE (R)

  • CUME_DIST (R)

  • CURRENT

  • CURRENT_DATE (R)

  • CURRENT_TIME (R)

  • CURRENT_TIMESTAMP (R)

  • CURRENT_USER (R)

  • CURSOR (R)

  • CURSOR_NAME

D

  • 数据

  • 数据库 (R)

  • 数据库列表 (R)

  • 数据文件

  • 日期

  • 日期时间

  • 日小时 (R)

  • 日微秒 (R)

  • 日分钟 (R)

  • 日秒 (R)

  • 释放

  • 十进制 (R)

  • 小数 (R)

  • 声明 (R)

  • 默认值 (R)

  • 默认身份验证

  • 定义者

  • 定义

  • 延迟 (R)

  • 延迟键写入

  • 删除 (R)

  • 密集排名 (R)

  • 降序 (R)

  • 描述 (R)

  • 描述信息

  • 确定性 (R)

  • 诊断信息

  • 目录

  • 禁用

  • 弃用

  • 磁盘

  • distinct (R)

  • distinctrow (R)

  • DIV (R)

  • DO

  • DOUBLE (R)

  • DROP (R)

  • DUAL (R)

  • DUMPFILE

  • DUPLICATE

  • DYNAMIC

E

  • EACH (R)

  • ELSE (R)

  • ELSEIF (R)

  • EMPTY (R)

  • ENABLE

  • ENCLOSED (R)

  • ENCRYPTION

  • END

  • ENDS

  • ENFORCED

  • ENGINE

  • ENGINES

  • ENGINE_ATTRIBUTE

  • ENUM

  • ERROR

  • ERRORS

  • ESCAPE

  • ESCAPED (R)

  • EVENT

  • EVENTS

  • EVERY

  • EXCEPT (R)

  • EXCHANGE

  • EXCLUDE

  • EXECUTE

  • EXISTS (R)

  • EXIT (R)

  • EXPANSION

  • EXPIRE

  • EXPLAIN (R)

  • EXPORT

  • EXTENDED

  • EXTENT_SIZE

F

  • FACTOR

  • FAILED_LOGIN_ATTEMPTS

  • FALSE (R)

  • FAST

  • FAULTS

  • FETCH (R)

  • FIELDS

  • FILE

  • FILE_BLOCK_SIZE

  • FILTER

  • FINISH

  • FIRST

  • FIRST_VALUE (R)

  • FIXED

  • FLOAT (R)

  • FLOAT4 (R)

  • FLOAT8 (R)

  • FLUSH

  • FOLLOWING

  • FOLLOWS

  • FOR (R)

  • FORCE (R)

  • FOREIGN (R)

  • FORMAT

  • FOUND

  • FROM (R)

  • FULL

  • FULLTEXT (R)

  • FUNCTION (R)

G

  • GENERAL

  • GENERATE

  • GENERATED (R)

  • GEOMCOLLECTION

  • GEOMETRY

  • GEOMETRYCOLLECTION

  • GET (R)

  • GET_FORMAT

  • GET_SOURCE_PUBLIC_KEY

  • GLOBAL

  • GRANT (R)

  • GRANTS

  • GROUP (R)

  • GROUPING (R)

  • GROUPS (R)

  • GROUP_REPLICATION

  • GTIDS

  • GTID_ONLY

H

  • HANDLER

  • HASH

  • HAVING (R)

  • HELP

  • HIGH_PRIORITY (R)

  • HISTOGRAM

  • HISTORY

  • HOST

  • HOSTS

  • HOUR

  • HOUR_MICROSECOND (R)

  • HOUR_MINUTE (R)

  • HOUR_SECOND (R)

I

  • IDENTIFIED

  • IF (R)

  • 忽略 (R)

  • 忽略服务器ID

  • 导入

  • (R)

  • 不活动

  • 索引 (R)

  • 索引列表

  • 输入文件 (R)

  • 初始

  • 初始大小

  • 初始化

  • 内联 (R)

  • 输入输出 (R)

  • 不敏感 (R)

  • 插入 (R)

  • 插入方法

  • 安装

  • 实例

  • 整数 (R)

  • 整数1 (R)

  • 整数2 (R)

  • 整数3 (R)

  • 整数4 (R)

  • 整数8 (R)

  • 整形 (R)

  • 交集 (R)

  • 时间间隔 (R)

  • (R)

  • 不可见

  • 调用者

  • IO

  • IO_后gtids (R)

  • IO_前gtids (R)

  • IO线程

  • IPC

  • (R)

  • 隔离

  • 颁发者

  • 迭代 (R)

J

  • 连接 (R)

  • JSON

  • JSON_表 (R)

  • JSON_值

K

  • 关键字 (R)

  • 密钥ring

  • 密钥 (R)

  • KEY_ BLOCK_SIZE

  • kill (R)

L

  • 滞后 (R)

  • 语言

  • 最后

  • 最后值 (R)

  • 侧向 (R)

  • 领先 (R)

  • 离开 (R)

  • 离开的

  • (R)

  • 少于

  • 层次

  • 类似 (R)

  • 限制 (R)

  • 线性 (R)

  • (R)

  • 线

  • 列表

  • 装载 (R)

  • 本地

  • 本地时间 (R)

  • LOCALTIME (R)

  • LOCALTIMESTAMP (R)

  • LOCK (R)

  • LOCKED

  • LOCKS

  • LOG

  • LOGFILE

  • LOGS

  • LONG (R)

  • LONGBLOB (R)

  • LONGTEXT (R)

  • LOOP (R)

  • LOW_PRIORITY (R)

M

  • MANUAL (R)

  • MASTER

  • MATCH (R)

  • MAXVALUE (R)

  • MAX_CONNECTIONS_PER_HOUR

  • MAX_QUERIES_PER_HOUR

  • MAX_ROWS

  • MAX_SIZE

  • MAX_UPDATES_PER_HOUR

  • MAX_USER_CONNECTIONS

  • MEDIUM

  • MEDIUMBLOB (R)

  • MEDIUMINT (R)

  • MEDIUMTEXT (R)

  • MEMBER

  • MEMORY

  • MERGE

  • MESSAGE_TEXT

  • MICROSECOND

  • MIDDLEINT (R)

  • MIGRATE

  • MINUTE

  • MINUTE_ MICROSECOND (R)

  • MINUTE_SECOND (R)

  • MIN_ROWS

  • MOD (R)

  • MODE

  • MODIFIES (R)

  • MODIFY

  • MONTH

  • MULTILINESTRING

  • MULTIPOINT

  • MULTIPOLYGON

  • MUTEX

  • MYSQL_ERRNO

N

  • NAME

  • NAMES

  • NATIONAL

  • NATURAL (R)

  • NCHAR

  • NDB

  • NDBCLUSTER

  • NESTED

  • NETWORK_NAMESPACE

  • NEVER

  • NEW

  • NEXT

  • NO

  • NODEGROUP

  • NONE

  • NOT (R)

  • NOWAIT

  • NO_WAIT

  • NO_WRITE_TO_BINLOG (R)

  • NTH_VALUE (R)

  • NTILE (R)

  • NULL (R)

  • NULLS

  • NUMBER

  • NUMERIC (R)

  • NVARCHAR

O

  • OF (R)

  • OFF

  • OFFSET

  • OJ

  • OLD

  • ON (R)

  • ONE

  • ONLY

  • OPEN

  • OPTIMIZE (R)

  • OPTIMIZER_COSTS (R)

  • OPTION (R)

  • OPTIONAL

  • OPTIONALLY (R)

  • OPTIONS

  • OR (R)

  • ORDER (R)

  • ORDINALITY

  • ORGANIZATION

  • OTHERS

  • OUT (R)

  • OUTER (R)

  • OUTFILE (R)

  • OVER (R)

  • OWNER

P

  • PACK_KEYS

  • PAGE

  • PARALLEL (R)

  • PARSER

  • PARSE_TREE

  • PARTIAL

  • 分区 (R)

  • 分区ing

  • 分区s

  • 密码

  • 密码锁定时间

  • 路径

  • 百分比排名 (R)

  • 持久

  • 持久只读

  • 阶段

  • 插件

  • 插件s

  • 插件目录

  • 多边形

  • 端口

  • 前置

  • 前置的

  • 精度 (R)

  • 准备

  • 保留

  • 前一个

  • 主键 (R)

  • 权限

  • 用户权限检查

  • 存储过程 (R)

  • 进程

  • 进程列表

  • 配置文件

  • 配置文件s

  • 代理

  • 清除 (R)

Q

  • 限定 (R)

  • 季度

  • 查询

  • QUICK

R

  • RANDOM

  • RANGE (R)

  • RANK (R)

  • READ (R)

  • READS (R)

  • READ_ONLY

  • READ_WRITE (R)

  • REAL (R)

  • REBUILD

  • RECOVER

  • RECURSIVE (R)

  • REDO_BUFFER_SIZE

  • REDUNDANT

  • REFERENCE

  • REFERENCES (R)

  • REGEXP (R)

  • REGISTRATION

  • RELAY

  • RELAYLOG

  • RELAY_LOG_FILE

  • RELAY_LOG_POS

  • RELAY_THREAD

  • RELEASE (R)

  • RELOAD

  • REMOVE

  • RENAME (R)

  • REORGANIZE

  • REPAIR

  • REPEAT (R)

  • REPEATABLE

  • REPLACE (R)

  • REPLICA

  • REPLICAS

  • REPLICATE_DO_DB

  • REPLICATE_DO_TABLE

  • REPLICATE_IGNORE_DB

  • REPLICATE_IGNORE_TABLE

  • REPLICATE_REWRITE_DB

  • REPLICATE_WILD_DO_TABLE

  • REPLICATE_WILD_IGNORE_TABLE

  • REPLICATION

  • REQUIRE (R)

  • REQUIRE_ROW_FORMAT

  • RESET

  • RESIGNAL (R)

  • RESOURCE

  • RESPECT

  • RESTART

  • RESTORE

  • RESTRICT (R)

  • RESUME

  • RETAIN

  • RETURN (R)

  • RETURNED_SQLSTATE

  • RETURNING

  • RETURNS

  • REUSE

  • REVERSE

  • REVOKE (R)

  • RIGHT (R)

  • RLIKE (R)

  • ROLE

  • ROLLBACK

  • ROLLUP

  • ROTATE

  • ROUTINE

  • ROW (R)

  • ROWS (R)

  • ROW_COUNT

  • ROW_FORMAT

  • ROW_NUMBER (R)

  • RTREE

S

  • S3

  • SAVEPOINT

  • SCHEDULE

  • SCHEMA (R)

  • SCHEMAS (R)

  • SCHEMA_NAME

  • SECOND

  • SECONDARY

  • SECONDARY_ENGINE

  • SECONDARY_ENGINE_ATTRIBUTE

  • SECONDARY_LOAD

  • SECONDARY_UNLOAD

  • SECOND_MICROSECOND (R)

  • SECURITY

  • SELECT (R)

  • SENSITIVE (R)

  • SEPARATOR (R)

  • SERIAL

  • SERIALIZABLE

  • SERVER

  • SESSION

  • SET (R)

  • SHARE

  • SHOW (R)

  • SHUTDOWN

  • SIGNAL (R)

  • SIGNED

  • SIMPLE

  • SKIP

  • SLAVE

  • 慢速

  • 小整数 (R)

  • 快照

  • 套接字

  • 一些

  • 库文件名

  • 相似

  • 来源

  • 自动定位

  • 绑定

  • 压缩算法

  • 连接重试

  • 延迟

  • 心跳周期

  • 主机

  • 日志文件

  • 日志位置

  • 密码

  • 端口

  • 公钥路径

  • 重试次数

  • SSL

  • 证书认证机构

  • 证书路径

  • 证书文件

  • 加密算法

  • CRL

  • CRL路径

  • 私钥

  • 验证服务器证书

  • TLS加密套件

  • TLS版本

  • 用户名

  • SOURCE_ZSTD_COMPRESSION_LEVEL

  • SPATIAL (R)

  • SPECIFIC (R)

  • SQL (R)

  • SQLEXCEPTION (R)

  • SQLSTATE (R)

  • SQLWARNING (R)

  • SQL_AFTER_GTIDS

  • SQL_AFTER_MTS_GAPS

  • SQL_BEFORE_GTIDS

  • SQL_BIG_RESULT (R)

  • SQL_BUFFER_RESULT

  • SQL_CALC_FOUND_ROWS (R)

  • SQL_NO_CACHE

  • SQL_SMALL_RESULT (R)

  • SQL_THREAD

  • SQL_TSI_DAY

  • SQL_TSI_HOUR

  • SQL_TSI_MINUTE

  • SQL_TSI_MONTH

  • SQL_TSI_QUARTER

  • SQL_TSI_SECOND

  • SQL_TSI_WEEK

  • SQL_TSI_YEAR

  • SRID

  • SSL (R)

  • STACKED

  • START

  • STARTING (R)

  • STARTS

  • STATS_AUTO_RECALC

  • STATS_PERSISTENT

  • STATS_SAMPLE_PAGES

  • 状态

  • 停止

  • 存储

  • 已存储 (R)

  • 直连连接 (R)

  • 字符串

  • 子类起源

  • 主题

  • 子分区

  • 子分区数

  • 超级

  • 暂停

  • 交换

  • 切换

  • 系统 (R)

T

  • (R)

  • 表格

  • 表样本 (R)

  • 表空间

  • 表检查和

  • 表名

  • 临时

  • 临时表

  • 终止 (R)

  • 文本

  • 然后

  • 然后 (R)

  • 线程优先级

  • 同等

  • 时间

  • 时间戳

  • 时间戳添加

  • 时间戳差异

  • TinyBlob (R)

  • TINYINT (R)

  • TINYTEXT (R)

  • TLS

  • TO (R)

  • TRAILING (R)

  • TRANSACTION

  • TRIGGER (R)

  • TRIGGERS

  • TRUE (R)

  • TRUNCATE

  • TYPE

  • TYPES

U

  • UNBOUNDED

  • UNCOMMITTED

  • UNDEFINED

  • UNDO (R)

  • UNDOFILE

  • UNDO_BUFFER_SIZE

  • UNICODE

  • UNINSTALL

  • UNION (R)

  • UNIQUE (R)

  • UNKNOWN

  • UNLOCK (R)

  • UNREGISTER

  • UNSIGNED (R)

  • UNTIL

  • UPDATE (R)

  • UPGRADE

  • URL

  • USAGE (R)

  • USE (R)

  • USER

  • USER_RESOURCES

  • USE_ FRM

  • USING (R)

  • UTC_DATE (R)

  • UTC_TIME (R)

  • UTC_TIMESTAMP (R)

V

  • VALIDATION

  • VALUE

  • VALUES (R)

  • VARBINARY (R)

  • VARCHAR (R)

  • VARCHARACTER (R)

  • VARIABLES

  • VARYING (R)

  • VCPU

  • VIEW

  • VIRTUAL (R)

  • VISIBLE

W

  • WAIT

  • WARNINGS

  • WEEK

  • WEIGHT_STRING

  • WHEN (R)

  • WHERE (R)

  • WHILE (R)

  • WINDOW (R)

  • WITH (R)

  • WITHOUT

  • WORK

  • WRAPPER

  • WRITE (R)

X

  • X509

  • XA

  • XID

  • XML

  • XOR (R)

Y

  • YEAR

  • YEAR_MONTH (R)

Z

  • ZEROFILL (R)

  • ZONE

MySQL 8.4 新关键字和保留字

以下列表显示了 MySQL 8.4 中添加的关键字和保留字,相比 MySQL 8.3。保留关键字以 (R) 标记。

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Z

A

  • ACTIVE

  • ADMIN

  • ARRAY

  • ATTRIBUTE

  • AUTHENTICATION

  • AUTO

B

  • BERNOULLI

  • BUCKETS

  • BULK

C

  • CHALLENGE_RESPONSE

  • CLONE

  • COMPONENT

  • CUME_DIST (R)

D

  • DEFINITION

  • DENSE_RANK (R)

  • DESCRIPTION

E

  • EMPTY (R)

  • ENFORCED

  • ENGINE_ATTRIBUTE

  • EXCEPT (R)

  • EXCLUDE

F

  • FACTOR

  • FAILED_LOGIN_ATTEMPTS

  • FINISH

  • FIRST_VALUE (R)

  • FOLLOWING

G

  • GENERATE

  • GEOMCOLLECTION

  • GET_SOURCE_PUBLIC_KEY

  • GROUPING (R)

  • GROUPS (R)

  • GTIDS

  • GTID_ONLY

H

  • HISTOGRAM

  • HISTORY

I

  • INACTIVE

  • INITIAL

  • INITIATE

  • INTERSECT (R)

  • INVISIBLE

J

  • JSON_ TABLE (R)

  • JSON_VALUE

K

  • KEYRING

L

  • LAG (R)

  • LAST_VALUE (R)

  • LATERAL (R)

  • LEAD (R)

  • LOCKED

  • LOG

M

  • MANUAL (R)

  • MEMBER

N

  • NESTED

  • NETWORK_NAMESPACE

  • NOWAIT

  • NTH_VALUE (R)

  • NTILE (R)

  • NULLS

O

  • OF (R)

  • OFF

  • OJ

  • OLD

  • OPTIONAL

  • ORDINALITY

  • ORGANIZATION

  • OTHERS

  • OVER (R)

P

  • 并行 (R)

  • 解析树

  • 密码锁定时间

  • 路径

  • 百分比排名 (R)

  • 持久

  • 仅持久

  • 前置

  • 权限检查用户

  • 进程

Q

  • 限定 (R)

R

  • 随机

  • 排名 (R)

  • 递归 (R)

  • 参考

  • 注册

  • 副本

  • 副本列表

  • 要求行格式

  • 资源

  • 尊重

  • 重新启动

  • 保留

  • 返回

  • 重用

  • 角色

  • 行号 (R)

S

  • S3

  • 副本引擎

  • 副本引擎属性

  • SECONDARY_ENGINE_ATTRIBUTE

  • SECONDARY_LOAD

  • SECONDARY_UNLOAD

  • 跳过

  • 源自动定位

  • 源绑定

  • 源压缩算法

  • 源连接重试

  • 源延迟

  • 源心跳周期

  • 源主机

  • 源日志文件

  • 源日志位置

  • 源密码

  • 源端口

  • 源公钥路径

  • 源重试次数

  • 源SSL

  • 源SSL证书

  • 源SSL证书路径

  • 源SSL密钥

  • 源SSL加密方式

  • 源SSL CRL

  • 源SSL CRL路径

  • 源SSL密钥

  • 源SSL验证服务器证书

  • 源TLS加密套件

  • 源TLS版本

  • 源用户

  • 源ZSTD压缩级别

  • 空间参考坐标系ID

  • 系统 (R)

T

  • TABLESAMPLE (R)

  • THREAD_PRIORITY

  • TIES

  • TLS

U

  • UNBOUNDED

  • UNREGISTER

  • URL

V

  • VCPU

  • VISIBLE

W

  • WINDOW (R)

Z

  • ZONE

MySQL 8.4 移除关键字和保留字

以下列表显示了 MySQL 8.4 中移除的关键字和保留字,相比 MySQL 8.3。保留关键字以 (R) 标记。

A | D | M | P | R | S

A

  • ANALYSE

D

  • DES_KEY_FILE

M

  • MASTER_AUTO_POSITION

  • MASTER_BIND (R)

  • MASTER_CONNECT_RETRY

  • MASTER_DELAY

  • MASTER_HEARTBEAT_PERIOD

  • MASTER_HOST

  • MASTER_LOG_FILE

  • MASTER_LOG_POS

  • MASTER_PASSWORD

  • MASTER_PORT

  • MASTER_RETRY_COUNT

  • MASTER_SERVER_ID

  • MASTER_SSL

  • MASTER_SSL_CA

  • MASTER_SSL_CAPATH

  • MASTER_SSL_CERT

  • MASTER_SSL_CIPHER

  • MASTER_SSL_CRL

  • MASTER_SSL_CRLPATH

  • MASTER_SSL_KEY

  • MASTER_SSL_VERIFY_SERVER_CERT (R)

  • MASTER_TLS_VERSION

  • MASTER_USER

  • PARSE_GCOL_EXPR

  • REDOFILE

  • SQL_CACHE