admin 管理员组

文章数量: 1184232


2024年3月13日发(作者:rtu怎么读)

pgsql insert into select用法

在 PostgreSQL 中,使用 `INSERT INTO ... SELECT` 语句可以从一个表中选择数据并将其插入

到另一个表中。下面是 `INSERT INTO ... SELECT` 语句的基本用法:

```sql

INSERT INTO 目标表名 (列1, 列2, 列3, ...)

SELECT 列1, 列2, 列3, ...

FROM 源表名

WHERE 条件;

```

这里是一个具体的例子:

假设有两个表,一个是 `source_table`,另一个是 `target_table`,它们的结构相同。我们想

从 `source_table` 中选择一些特定的行,并将它们插入到 `target_table` 中。

```sql

-- 创建两个表

CREATE TABLE source_table (

id SERIAL PRIMARY KEY,

name VARCHAR(100),

age INT

);

CREATE TABLE target_table (

id SERIAL PRIMARY KEY,

name VARCHAR(100),

age INT

);

-- 在 source_table 中插入一些数据

INSERT INTO source_table (name, age) VALUES

('Alice', 25),

('Bob', 30),

('Charlie', 22);

-- 使用 INSERT INTO ... SELECT 将数据从 source_table 复制到 target_table

INSERT INTO target_table (name, age)

SELECT name, age

FROM source_table

WHERE age > 25;

```

在这个例子中,`INSERT INTO target_table (name, age) SELECT name, age FROM source_table

WHERE age > 25;` 语句选择了 `source_table` 中年龄大于 25 的行,并将它们插入到

`target_table` 中。请注意,目标表的列和源表的列一一对应。

确保目标表和源表的结构匹配,以确保正确的数据插入。如果列的数量或类型不匹配,可能

会导致插入失败或产生意外的结果。


本文标签: 插入 匹配 确保 数据 目标