PostgreSQL保留字是SQL中具有特殊意义的关键词,如SELECT、WHERE、CREATE等,分为完全保留和非完全保留两类,完全保留字必须用双引号才能用作标识符,否则会引发语法错误,建议开发时避免使用保留字命名表或列以减少冲突风险。
PostgreSQL保留字是指在SQL语句中具有特殊意义的关键词,不能直接用作表名、列名或其他标识符,除非用双引号括起来。以下是一些常见的PostgreSQL保留字,分为几类帮助理解。
常用保留字(部分)
这些词在PostgreSQL中被定义为保留关键字,建议避免用作标识符:
SELECT – 查询数据 INSERT – 插入数据 UPDATE – 更新数据 DELETE – 删除数据 FROM – 指定数据源 WHERE – 条件过滤 AND, OR, NOT – 逻辑操作 JOIN, LEFT, RIGHT, INNER, FULL – 表连接 GROUP BY, HAVING – 分组与聚合过滤 ORDER BY – 排序 AS – 别名定义 ON – 关联条件 IN, LIKE, BETWEEN – 条件匹配 CREATE, DROP, ALTER – 结构操作 TABLE, INDEX, VIEW – 对象类型 PRIMARY KEY, FOREIGN KEY, UNIQUE – 约束定义 NULL, DEFAULT – 值定义 CAST, TYPE – 类型转换 WITH – 公共表表达式(CTE) VALUES – 插入值列表完全保留 vs. 非完全保留
PostgreSQL将保留字分为两类:
完全保留字:在任何情况下都不能作为标识符使用,除非加双引号。例如:SELECT、WHERE、ORDER。 非完全保留字:在某些上下文中可用作标识符,但仍有冲突风险。例如:user、current_date。如何安全使用保留字作为标识符?
如果必须使用保留字作为列名或表名,可以用双引号包裹:
复制AI写代码
1
2
3
4
5
CREATE TABLE “order” (
“id” SERIAL PRIMARY KEY,
“select” TEXT,
“from” TEXT
);
登录后复制
注意:一旦使用双引号,标识符变为大小写敏感,后续引用也必须用双引号。
查看完整保留字列表
最权威的方式是查阅PostgreSQL官方文档。也可以通过系统表查询:
复制AI写代码
1
SELECT * FROM pg_get_keywords();
登录后复制
该函数返回所有关键字及其类别(如 reserved、unreserved),便于判断是否可安全使用。
基本上就这些。实际开发中,建议避开常见保留字命名,减少出错概率。不复杂但容易忽略。
以上就是postgresql保留字有哪些的详细内容,更多请关注php中文网其它相关文章!


