1. 程式人生 > 其它 >select into和insert into select

select into和insert into select

技術標籤:MySQLsqlmysqloracle

今天做專案用到了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;

在這裡插入圖片描述