應用程序在開發、測試過程中,經常會遇到需要表復制的情況,比如將一個表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 語句的替代方案