11.3 关键字和保留字
关键字是 SQL 中具有特殊意义的词语。某些关键字,如SELECT
、DELETE
或BIGINT
,是保留的,需要特殊处理以便作为标识符,如表名和列名。对内置函数的名称也可能如此。
非保留关键字可以作为标识符使用,无需引号。保留词语可以作为标识符使用,但需要按照第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)'
BEGIN
和END
是关键字,但不是保留的,因此它们作为标识符使用不需要加引号。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
-
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) -
字节
-
缓存
-
调用
(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
-
数据
-
数据库
(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
-
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
-
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)
-
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
-
HANDLER
-
HASH
-
HAVING
(R) -
HELP
-
HIGH_PRIORITY
(R) -
HISTOGRAM
-
HISTORY
-
HOST
-
HOSTS
-
HOUR
-
HOUR_MICROSECOND
(R) -
HOUR_MINUTE
(R) -
HOUR_SECOND
(R)
-
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)
-
连接
(R) -
JSON
-
JSON_表
(R) -
JSON_值
-
关键字
(R) -
密钥ring
-
密钥
(R) -
KEY_ BLOCK_SIZE
-
kill
(R)
-
滞后
(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)
-
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
-
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
-
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
-
PACK_KEYS
-
PAGE
-
PARALLEL
(R) -
PARSER
-
PARSE_TREE
-
PARTIAL
-
分区
(R) -
分区ing
-
分区s
-
密码
-
密码锁定时间
-
路径
-
百分比排名
(R) -
持久
-
持久只读
-
阶段
-
插件
-
插件s
-
插件目录
-
点
-
多边形
-
端口
-
前置
-
前置的
-
精度
(R) -
准备
-
保留
-
前一个
-
主键
(R) -
权限
-
用户权限检查
-
存储过程
(R) -
进程
-
进程列表
-
配置文件
-
配置文件s
-
代理
-
清除
(R)
-
限定
(R) -
季度
-
查询
-
QUICK
-
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
-
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)
-
表
(R) -
表格
-
表样本
(R) -
表空间
-
表检查和
-
表名
-
临时
-
临时表
-
终止
(R) -
文本
-
然后
-
然后
(R) -
线程优先级
-
同等
-
时间
-
时间戳
-
时间戳添加
-
时间戳差异
-
TinyBlob
(R) -
TINYINT
(R) -
TINYTEXT
(R) -
TLS
-
TO
(R) -
TRAILING
(R) -
TRANSACTION
-
TRIGGER
(R) -
TRIGGERS
-
TRUE
(R) -
TRUNCATE
-
TYPE
-
TYPES
-
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)
-
VALIDATION
-
VALUE
-
VALUES
(R) -
VARBINARY
(R) -
VARCHAR
(R) -
VARCHARACTER
(R) -
VARIABLES
-
VARYING
(R) -
VCPU
-
VIEW
-
VIRTUAL
(R) -
VISIBLE
-
WAIT
-
WARNINGS
-
WEEK
-
WEIGHT_STRING
-
WHEN
(R) -
WHERE
(R) -
WHILE
(R) -
WINDOW
(R) -
WITH
(R) -
WITHOUT
-
WORK
-
WRAPPER
-
WRITE
(R)
-
X509
-
XA
-
XID
-
XML
-
XOR
(R)
-
YEAR
-
YEAR_MONTH
(R)
-
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
-
ACTIVE
-
ADMIN
-
ARRAY
-
ATTRIBUTE
-
AUTHENTICATION
-
AUTO
-
BERNOULLI
-
BUCKETS
-
BULK
-
CHALLENGE_RESPONSE
-
CLONE
-
COMPONENT
-
CUME_DIST
(R)
-
DEFINITION
-
DENSE_RANK
(R) -
DESCRIPTION
-
EMPTY
(R) -
ENFORCED
-
ENGINE_ATTRIBUTE
-
EXCEPT
(R) -
EXCLUDE
-
FACTOR
-
FAILED_LOGIN_ATTEMPTS
-
FINISH
-
FIRST_VALUE
(R) -
FOLLOWING
-
GENERATE
-
GEOMCOLLECTION
-
GET_SOURCE_PUBLIC_KEY
-
GROUPING
(R) -
GROUPS
(R) -
GTIDS
-
GTID_ONLY
-
HISTOGRAM
-
HISTORY
-
INACTIVE
-
INITIAL
-
INITIATE
-
INTERSECT
(R) -
INVISIBLE
-
JSON_ TABLE
(R) -
JSON_VALUE
-
KEYRING
-
LAG
(R) -
LAST_VALUE
(R) -
LATERAL
(R) -
LEAD
(R) -
LOCKED
-
LOG
-
MANUAL
(R) -
MEMBER
-
NESTED
-
NETWORK_NAMESPACE
-
NOWAIT
-
NTH_VALUE
(R) -
NTILE
(R) -
NULLS
-
OF
(R) -
OFF
-
OJ
-
OLD
-
OPTIONAL
-
ORDINALITY
-
ORGANIZATION
-
OTHERS
-
OVER
(R)
-
并行
(R) -
解析树
-
密码锁定时间
-
路径
-
百分比排名
(R) -
持久
-
仅持久
-
前置
-
权限检查用户
-
进程
-
限定
(R)
-
随机
-
排名
(R) -
递归
(R) -
参考
-
注册
-
副本
-
副本列表
-
要求行格式
-
资源
-
尊重
-
重新启动
-
保留
-
返回
-
重用
-
角色
-
行号
(R)
-
S3
-
副本引擎
-
副本引擎属性
-
SECONDARY_ENGINE_ATTRIBUTE
-
SECONDARY_LOAD
-
SECONDARY_UNLOAD
-
跳过
-
源自动定位
-
源绑定
-
源压缩算法
-
源连接重试
-
源延迟
-
源心跳周期
-
源主机
-
源日志文件
-
源日志位置
-
源密码
-
源端口
-
源公钥路径
-
源重试次数
-
源SSL
-
源SSL证书
-
源SSL证书路径
-
源SSL密钥
-
源SSL加密方式
-
源SSL CRL
-
源SSL CRL路径
-
源SSL密钥
-
源SSL验证服务器证书
-
源TLS加密套件
-
源TLS版本
-
源用户
-
源ZSTD压缩级别
-
空间参考坐标系ID
-
流
-
系统
(R)
-
TABLESAMPLE
(R) -
THREAD_PRIORITY
-
TIES
-
TLS
-
UNBOUNDED
-
UNREGISTER
-
URL
-
VCPU
-
VISIBLE
-
WINDOW
(R)
-
ZONE
MySQL 8.4 移除关键字和保留字
以下列表显示了 MySQL 8.4 中移除的关键字和保留字,相比 MySQL 8.3。保留关键字以 (R) 标记。
-
ANALYSE
-
DES_KEY_FILE
-
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