SELECT INTO 和 INSERT SELECT INTO

开发中经常会碰到把已存在记录的数据赋给新记录的场景,怎样才能把SELECTINSERT合并到一个执行语句中呢?

SELECT INTO

语法:

1
SELECT `t1`.`column1` AS column1, `t1`.`column2` AS column2, 'column3' AS column3 INTO `Table2` FROM `Table1` AS t1;

注意:执行过程中,会创建表Table2,所以,执行前要求表Table2不存在。

INSERT SELECT INTO

语法:

1
Insert INTO `Table2` (column1, column2, ...) SELECT value1,value2,... FROM `Table1`;

注意:执行前要求表Table2存在切有固定结构;SELECT前面没有VALUES关键字;FROM后面可以跟更复杂的查询语句。