mysql中insert into select语句怎么使用

avatar
作者
猴君
阅读量:1

在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    | +----+-------+-------+ 

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!