📅  最后修改于: 2023-12-03 15:10:11.502000             🧑  作者: Mango
在 PostgreSQL 中,插入语句用于将数据插入到表中。当您需要将数据插入到表中时,可以使用 INSERT INTO 语句。
INSERT INTO table_name(column_1, column_2, ..., column_n)
VALUES (value_1, value_2, ..., value_n);
以一个 Employee 表为例,该表包含以下列:empid,empname,salary 和 location。
在执行插入操作之前,需要先创建 Employee 表。
CREATE TABLE Employee (
empid SERIAL PRIMARY KEY,
empname TEXT NOT NULL,
salary INTEGER NOT NULL,
location TEXT NOT NULL
);
接下来,将使用 INSERT INTO 语句将数据插入到 Employee 表中。
INSERT INTO Employee (empname, salary, location)
VALUES ('Alice', 50000, 'New York');
或
INSERT INTO Employee (empname, salary, location)
SELECT empname, salary, location FROM Employee WHERE empid = 1;
您还可以使用 INSERT INTO SELECT 语句,将另一个表的结果集插入到要插入的表中。
INSERT INTO table_name(column_1, column_2, ..., column_n)
SELECT column_1, column_2, ..., column_n
FROM another_table
WHERE condition;
假设您有以下两个表:employee 和 customer,它们都有 columns firstname、lastname、email。
CREATE TABLE Employee (
empid SERIAL PRIMARY KEY,
firstname TEXT NOT NULL,
lastname TEXT NOT NULL,
email TEXT NOT NULL
);
CREATE TABLE Customer (
custid SERIAL PRIMARY KEY,
firstname TEXT NOT NULL,
lastname TEXT NOT NULL,
email TEXT NOT NULL
);
现在,您可以使用 INSERT INTO SELECT 语句将 employee 表中的某些行插入到 customer 表中。
INSERT INTO Customer (firstname, lastname, email)
SELECT firstname, lastname, email
FROM Employee
WHERE empid IN (2,3,4);
可以通过运行以下命令验证是否成功插入 record。
SELECT * FROM Customer;
INSERT INTO 和 INSERT INTO SELECT 是 PostgreSQL 中最常用的插入语句。INSERT INTO SELECT 可以使用 SELECT 语句来插入选择结果集。这两个语句可以让您更轻松地插入数据,无需编写所有列的值。