Lệnh SQL INSERT trong PostgreSQL là một trong bốn lệnh cơ bản của ngôn ngữ SQL, và nó được sử dụng để thêm, chèn dữ liệu vào bảng.
Cú pháp lệnh SQL INSERT trong PostgreSQL
[ WITH [ RECURSIVE ] with_query [, ...] ] INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query } [ ON CONFLICT [ conflict_target ] conflict_action ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
Thêm 1 dòng (row) vào bảng
Cú pháp:
INSERT INTO table(column_name_1, column_name_2, …) VALUES (value_1, value_2, …);
Ví dụ: Thêm dữ liệu cho bảng groups sau đây:
Để insert dữ liệu mới vào bảng:
INSERT INTO groups (group_name, created_at) VALUES ('admin', '2019-09-30 00:00:00');
Thêm nhiều dòng (rows) vào bảng
Cú pháp:
INSERT INTO table (column_name_1, column_name_2, …) VALUES (value_1, value_2, …), (value_1, value_2, …) , ...;
Ví dụ: Thêm nhiều row vào bảng groups
INSERT INTO groups (group_name, created_at) VALUES ('admin', '2019-09-30 00:00:00'), ('developer', '2019-09-30 00:00:00'), ('design', '2019-09-30 01:00:00'), ('reviewer', '2019-09-30 02:00:00'), ('author', '2019-09-30 03:00:00');
Lấy id của bản ghi vừa insert vào bảng
Sử dụng từ khóa RETURNING để lấy id của bản ghi vừa được thêm vào bảng
INSERT INTO groups (group_name, created_at) VALUES ('partner', '2019-09-30 04:00:00') RETURNING group_id;
Insert dữ liệu từ một bảng khác
Tạo 1 bảng temporary cho bảng groups có tên là groups_temp
CREATE TABLE groups_temp (LIKE groups);
Sau đó insert dữ liệu từ groups sang groups_temp
INSERT INTO groups_temp SELECT * FROM groups WHERE group_id > 5;