📜  PostgreSQL – 插入(1)

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

PostgreSQL - 插入

在 PostgreSQL 中,我们可以使用 INSERT INTO 语句将数据插入到表中。下面是一个示例:

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

在这个示例中,我们将数据插入到 table_name 表中,并指定要插入数据的列名和对应的值。如果不是所有的列都要插入数据,只需包含需要插入的列即可。

例如,如果我们有一个名为 employees 的表,其中包含以下列:

  • id
  • first_name
  • last_name
  • email

我们可以插入一条新的记录,如下所示:

INSERT INTO employees (first_name, last_name, email)
VALUES ('John', 'Doe', 'john.doe@example.com');

在这个示例中,我们只插入了 first_namelast_nameemail的值。如果我们在 INSERT INTO 语句中不包含 id 列,则 PostgreSQL 将为该列自动分配一个值。

除了上面的语法之外,我们还可以使用以下语法将 SELECT 查询结果插入到表中:

INSERT INTO table_name (column1, column2, column3, ...)
SELECT expression1, expression2, expression3, ...
FROM source_table
WHERE conditions;

在这个示例中,我们使用 SELECT 查询语句获取数据,并将其插入到 table_name 表中。我们还可以使用 WHERE 子句来指定要选择的数据行。

例如,如果我们有一个名为 employees_new 的表,其中包含以下列:

  • id
  • first_name
  • last_name
  • email

我们可以从 employees 表中选择所有姓氏为 Doe 的员工,并将结果插入到 employees_new 表中,如下所示:

INSERT INTO employees_new (first_name, last_name, email)
SELECT first_name, last_name, email
FROM employees
WHERE last_name = 'Doe';

在这个示例中,我们选择了 employees 表中所有姓氏为 Doe 的员工,并将其插入到 employees_new 表中。

总结:

  • 使用 INSERT INTO 语句将数据插入到表中。
  • 可以指定要插入的列和对应的值。
  • 可以使用 SELECT 查询语句将查询结果插入到表中。