📅  最后修改于: 2023-12-03 15:03:50.261000             🧑  作者: Mango
在 PostgreSQL 中,插入数据有几种方法。下面将对这些方法进行介绍。
最基本的插入方法是使用 INSERT INTO
语句。例如:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中,table_name
是要插入数据的表名,column1
、column2
、column3
等是要插入的列名,value1
、value2
、value3
等是要插入的值。
例如,假设我们有一个 employees
表,它有 id
、name
、age
三列:
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INTEGER NOT NULL
);
现在我们要往这个表中插入一条数据,可以使用如下的 SQL 语句:
INSERT INTO employees (name, age)
VALUES ('Tom', 25);
这将向 employees
表中插入一条名为 Tom,年龄为 25 的数据。
如果要插入多条数据,可以使用一条 INSERT INTO
语句插入多个值,如下所示:
INSERT INTO employees (name, age)
VALUES ('Tom', 25), ('Jerry', 30), ('Spike', 35);
这将分别向 employees
表中插入名为 Tom、Jerry、Spike,年龄分别为 25、30、35 的三条数据。
如果要从一个表中查询数据并将查询结果插入到另一个表中,可以使用 INSERT INTO
和 SELECT
语句结合使用。例如:
INSERT INTO employees_copy (name, age)
SELECT name, age FROM employees;
这将从 employees
表中查询所有记录的 name
和 age
列,并将结果插入到一个名为 employees_copy
的新表中。
如果表定义了默认值,那么插入时可以省略这些列,如下所示:
CREATE TABLE sales (
id SERIAL PRIMARY KEY,
date DATE DEFAULT CURRENT_DATE,
amount DECIMAL NOT NULL DEFAULT 0.00
);
INSERT INTO sales (amount) VALUES (100.00);
这将向 sales
表中插入一条记录,其中 date
列将使用默认值,amount
列将使用指定的值。
插入数据后,可以使用 RETURNING
子句来返回新插入的数据。例如:
INSERT INTO employees (name, age)
VALUES ('Tom', 25)
RETURNING id, name, age;
这将向 employees
表中插入一条名为 Tom,年龄为 25 的数据,并返回新插入数据的 id
、name
、age
三列。
以上是 PostgreSQL 中插入数据的基本方法和技巧,希望对开发者有所帮助。