官方文档地址:26.18 The INFORMATION_SCHEMA KEYWORDS Table
KEYWORDS
表列出了 MySQL 定义的关键字,对于每个关键字,标志它是否是被保留的。在某些情况下,保留关键字可能需要特殊处理,例如作为标识符使用时需要添加的特殊引号(参见 9.3 关键字和保留字)。该表为应用程序提供了 MySQL 关键字信息的运行时源。
在 MySQL 8.0.13 之前,在没有选择默认数据库的情况下查询KEYWORDS
表会产生一个错误。(Bug #90160,Bug #27729859)
关键字表有以下列:
WORD
:关键字。RESERVED
:一个整数,表示关键字是保留(1)
还是不保留(0)
。
下面的查询分别列出了所有关键字、所有保留关键字和所有非保留关键字:
SELECT * FROM INFORMATION_SCHEMA.KEYWORDS;
SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE RESERVED = 1;
SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE RESERVED = 0;
后两个查询等价于:
SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE RESERVED;
SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE NOT RESERVED;
如果你是从源代码构建 MySQL,构建过程会生成一个keyword_list.h
头文件,其中包含一个关键字数组及其保留状态。这个文件可以在构建目录下的sql
目录中找到。这个文件对于需要为关键字列表提供静态源的应用程序可能很有用。