九月 6, 2023
摘要:在本教程中,您将学习如何使用单个 PostgreSQL 的INSERT
语句向表中插入多行。
目录
插入多行语句简介
要使用单个INSERT
语句将多行插入表中,请使用以下语法:
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n);
在这个语法中:
- 首先,在
INSERT INTO
关键字后指定要插入数据的表的名称。 - 其次,在表名称后面的括号中列出表中所需的列或所有列。
- 第三,在
VALUES
关键字后面提供以逗号分隔的行列表。
要插入多行并返回插入的行,请添加RETURNING
子句,如下所示:
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n)
RETURNING * | output_expression;
设置样例表
以下语句创建一个新表,名为links
:
DROP TABLE IF EXISTS links;
CREATE TABLE links (
id SERIAL PRIMARY KEY,
url VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
description VARCHAR(255)
);
插入多行示例
以下语句使用INSERT
语句向links
表添加三行:
INSERT INTO
links (url, name)
VALUES
('https://www.google.com','Google'),
('https://www.yahoo.com','Yahoo'),
('https://www.bing.com','Bing');
PostgreSQL 返回以下消息:
INSERT 0 3
要验证插入,请使用以下语句:
SELECT * FROM links;
输出:
插入多行并返回插入的行
以下语句使用INSERT
语句向links
表中插入两行并返回插入的行:
INSERT INTO
links(url,name, description)
VALUES
('https://duckduckgo.com/','DuckDuckGo','Privacy & Simplified Search Engine'),
('https://swisscows.com/','Swisscows','Privacy safe WEB-search')
RETURNING *;
如果您只想返回插入的id
列表,您可以在RETURNING
子句中指定id
列,如下所示:
INSERT INTO
links(url,name, description)
VALUES
('https://www.searchencrypt.com/','SearchEncrypt','Search Encrypt'),
('https://www.startpage.com/','Startpage','The world''s most private search engine')
RETURNING id;
概括
- 在
INSERT
语句中指定多个值列表以将多行插入表中。 - 使用
RETURNING
子句返回插入的行。