📜  PostgreSQL插入(1)

📅  最后修改于: 2023-12-03 15:03:50.261000             🧑  作者: Mango

PostgreSQL 插入

在 PostgreSQL 中,插入数据有几种方法。下面将对这些方法进行介绍。

基本插入方法

最基本的插入方法是使用 INSERT INTO 语句。例如:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

其中,table_name 是要插入数据的表名,column1column2column3 等是要插入的列名,value1value2value3 等是要插入的值。

例如,假设我们有一个 employees 表,它有 idnameage 三列:

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 INTOSELECT 语句结合使用。例如:

INSERT INTO employees_copy (name, age)
SELECT name, age FROM employees;

这将从 employees 表中查询所有记录的 nameage 列,并将结果插入到一个名为 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 获取插入的数据

插入数据后,可以使用 RETURNING 子句来返回新插入的数据。例如:

INSERT INTO employees (name, age)
VALUES ('Tom', 25)
RETURNING id, name, age;

这将向 employees 表中插入一条名为 Tom,年龄为 25 的数据,并返回新插入数据的 idnameage 三列。

以上是 PostgreSQL 中插入数据的基本方法和技巧,希望对开发者有所帮助。