INSERT
是一个 DML 命令,用于向关系(表或可更新视图)插入行。
INSERT
始终存在于 PostgreSQL 中。
变更历史
进行中
- PostgreSQL 18
- 在
RETURNING
子句中添加了对OLD
/NEW
的支持 (提交 80feb727)
- 在
- PostgreSQL 14
- 支持带
INSERT INTO ... SELECT ...
的并行SELECT
(提交 05c8482f)
- 支持带
- PostgreSQL 11
- 允许在分区表上使用
INSERT ... ON CONFLICT ...
(提交 555ee77a)
- 允许在分区表上使用
- PostgreSQL 10
- 添加了
OVERRIDING { SYSTEM | USER } VALUE
语法(提交 32173270)
- 添加了
- PostgreSQL 9.6
- 在目标列列表中添加了对数组下标和字段选择的支持(提交 a3c7a993)
- PostgreSQL 9.5
- 添加了对
INSERT ... ON CONFLICT
的支持(初始提交 168d5805)
- 添加了对
- PostgreSQL 9.1
- 添加了对
WITH
子句的支持(提交 07f1264d)
- 添加了对
- PostgreSQL 8.2
- PostgreSQL 7.3
- 添加了对
DEFAULT
关键字的支持(提交 97b4e5ad)
- 添加了对
- PostgreSQL 7.2
示例
INSERT
的基本用法示例
postgres=# CREATE TABLE foo (id INT, val TEXT); CREATE TABLE postgres=# INSERT INTO foo VALUES(1, 'Hello world!'); INSERT 0 1
参考资料
- PostgreSQL文档: INSERT