select into和insert into select
阿新 • • 發佈:2021-01-31
今天做專案用到了insert into select,將聯表查詢結果直接插入到資料庫中,不需要程式進行引數對映什麼的,很方便!
實操資料庫:MySQL5.7
Insert into select
語句形式
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
他要求Table2必須存在,而將查詢的Table1結果作為值插入到Table2中
簡單示例:
insert into my_test_1(id,created_by) SELECT id, created_by from my_test
Select into
語句形式
SELECT vale1, value2 into Table2 from Table1
他要求目標表table2不存在,並把table1中的資料複製到table2中
簡單示例:
select bookID,bookName into book2 from books
錯誤:
這裡我百度了一下,好像是說MySQL不支援select into寫法,我想了想我之前都是在Oracle執行過,也許MySQL並不支援這種寫法!
替代方案:
方式一:結構與資料都拿過來
Create table Table2 (Select * from Table1);
以Table1的結果和結構建立Table2
示例:
create table book2(select * from books)
方式二:只拿結構不拿資料
Create table Table2 like Table1;
以Table1的結構建立Table2
示例:
create table book3 like books;