应用程序在开发、测试过程中,经常会遇到需要表复制的情况,比如将一个表table1的数据的部分字段或全部字段复制到表table2中,这时候就是 SELECT INTO 或者 INSERT INTO SELECT 发挥奇妙无穷的作用的时候了。至于这两种方法的区别和用法,就请慢慢往下看吧!
(1)INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,,field3,...) select value1,value2,,value3,... from Table1
这种用法要求被插入的表Table2必须存在,由于被插入的表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入我们自定义的常量。
(2)SELECT INTO FROM语句
语句形式为:SELECT vale1, value2, value3 into Table2 from Table1
这种用法要求被插入的表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
注意:MySQL是不支持 SELECT INTO FROM 这种语句的,但是可以有相应替代他的SQL语句,具体请参考本站文章这里:
MySQL SELECT INTO FROM 语句的替代方案