Lệnh SQL INSERT trong PostgreSQL à 1 trong 4 lệnh cơ bản của ngôn ngữ SQL. Câu lệnh thực hiện việc 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;
Nguồn: vinasupport.com