功能
information_schema.KEYWORDS 用于以 SQL 查询的方式枚举当前实例所识别的全部 SQL 关键字,并标识其中哪些是保留字。该视图常用于以下场景:在创建库、表、列、变量、别名等对象时,判断标识符是否需要使用反引号包裹,避免与关键字冲突。
客户端工具(驱动、ORM、SQL 编辑器、数据治理平台等)实现 SQL 高亮、自动补全和语法校验。
排查"使用关键字作为标识符"导致的语法错误。
视图内容由系统在启动时自动生成,无需任何前置操作即可查询。
字段说明
字段名 | 类型 | 描述 |
WORD | VARCHAR(128) | 关键字本身,统一以大写形式返回,例如 SELECT、ADD、ACCOUNT。 |
RESERVED | INT | 是否为保留字。 1 表示保留字,作为标识符使用时必须用反引号包裹。0 表示非保留字,可直接作为标识符使用。 |
示例
查询当前实例的全部关键字:
tdsql> SELECT * FROM information_schema.KEYWORDS;+----------------------------------------+----------+| WORD | RESERVED |+----------------------------------------+----------+| ACCESSIBLE | 1 || ACCOUNT | 0 || ACTION | 0 || ADD | 1 || ALL | 1 || ALTER | 1 || ... | ... |+----------------------------------------+----------+
仅查询保留字,可结合
RESERVED 字段过滤:tdsql> SELECT WORD FROM information_schema.KEYWORDS WHERE RESERVED = 1 ORDER BY WORD;
判断某个标识符(例如
ORDER)是否为保留字:tdsql> SELECT WORD, RESERVED FROM information_schema.KEYWORDS WHERE WORD = 'ORDER';+-------+----------+| WORD | RESERVED |+-------+----------+| ORDER | 1 |+-------+----------+