KEYWORDS table lists the words
considered keywords by MySQL and, for each one, indicates whether
it is reserved. Reserved keywords may require special treatment in
some contexts, such as special quoting when used as identifiers
(see Section 9.3, “Keywords and Reserved Words”). This table provides applications
a runtime source of MySQL keyword information.
Prior to MySQL 8.0.13, selecting from the
KEYWORDS table with no default database
selected produced an error. (Bug #90160, Bug #27729859)
KEYWORDS table has these columns:
An integer indicating whether the keyword is reserved (1) or nonreserved (0).
These queries lists all keywords, all reserved keywords, and all nonreserved keywords, respectively:
SELECT * FROM INFORMATION_SCHEMA.KEYWORDS; SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE RESERVED = 1; SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE RESERVED = 0;
The latter two queries are equivalent to:
SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE RESERVED; SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS WHERE NOT RESERVED;
If you build MySQL from source, the build process generates a
keyword_list.h header file containing an
array of keywords and their reserved status. This file can be
found in the
sql directory under the build
directory. This file may be useful for applications that require a
static source for the keyword list.