温馨提示×

mysql中insert into select语句怎么使用

小亿
113
2023-12-26 14:17:55
栏目: 云计算

在MySQL中,INSERT INTO SELECT语句用于将一张表中的数据插入到另一张表中。

语法如下:

INSERT INTO 目标表名 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 源表名 WHERE 条件;

其中,目标表名是要插入数据的表,列1、列2、列3等指定了要插入的目标表的列。源表名是要从中选择数据的表,列1、列2、列3等指定了要选择的源表的列。WHERE子句是可选的,用于指定选择数据的条件。

示例: 假设我们有两张表:table1和table2,它们的结构如下:

table1:

+----+-------+-------+
| id | name  | age   |
+----+-------+-------+
| 1  | John  | 25    |
| 2  | Alice | 30    |
+----+-------+-------+

table2:

+----+-------+-------+
| id | name  | age   |
+----+-------+-------+
| 3  | Bob   | 35    |
+----+-------+-------+

如果要将table1中的数据插入到table2中,可以使用以下INSERT INTO SELECT语句:

INSERT INTO table2 (id, name, age)
SELECT id, name, age FROM table1;

执行上述语句后,table2的内容将变为:

+----+-------+-------+
| id | name  | age   |
+----+-------+-------+
| 3  | Bob   | 35    |
| 1  | John  | 25    |
| 2  | Alice | 30    |
+----+-------+-------+

注意:目标表和源表的列的数量和数据类型必须匹配,否则会导致插入失败。

0