在 SQL 中,可以使用 INSERT INTO SELECT 语句从一个表中插入记录到另一个表中。
假设有两个表,table1 和 table2,它们的结构如下:
table1 结构:
id | name | age |
---|---|---|
1 | John | 25 |
2 | Jane | 30 |
table2 结构:
id | name | gender |
---|---|---|
1 | John | Male |
2 | Jane | Female |
现在,我们想要将 table1 中的所有记录插入到 table2 中。可以使用以下 SQL 语句:
INSERT INTO table2 (id, name, gender)
SELECT id, name, 'Unknown' AS gender
FROM table1;
这将插入以下记录到 table2 中:
id | name | gender |
---|---|---|
1 | John | Unknown |
2 | Jane | Unknown |
在这个例子中,我们使用了 SELECT 语句从 table1 中提取所有记录,并将它们插入到 table2 中。我们还使用了一个虚拟列 'Unknown' AS gender,以便为每个插入的记录分配一个默认值。
请注意,如果 table2 中已经存在具有相同主键值的记录,则此操作将失败,因为主键不能重复。如果需要更新现有记录,则可以使用 UPDATE 语句。
领取专属 10元无门槛券
手把手带您无忧上云