(1)如果兩張表(匯出表和目標表)的字段一致,並且希望插入全部資料,可以用這種方法:
insert into 目標表 select * from **表 where 條件;
例如,要將 test 表插入到 newtest 表中,則可以通過如下sql語句實現:
insert into newtest select * from test;
(2)如果只希望匯入指定字段,可以用這種方法:
insert into 目標表(欄位1, 欄位2, ...)select 欄位1, 欄位2, ... from **表 where 條件;
請注意以上兩表的字段必須一致(位置一致,型別一致),否則會出現資料轉換錯誤。
例如我需要把商品表 commodity 中符合條件(狀態為0,並且**大於500的商品id)的資料插入到商品標籤表 commoditytag 中:
insert into commoditytag(tagid, commodityid, status, createtime, updatetime)select 'tg191219290000000', commodityid, 0, now(), now() from commodity where commoditystatus = 0 and price > 500;
回到頂部
select into 語句從乙個表中選取資料,然後把資料插入另乙個表中。常用於建立表的備份復件或者用於對記錄進行存檔。
(1)兩張表字段完全一致,全部字段資料進行拷貝。
select * into persons_backup from persons where city='beijing';
(2)拷貝指定字段。
select lastname, firstname into persons_backup from persons where city='beijing';
(3)in 子句可用於向另乙個資料庫 backup.mdb 中拷貝表。
select * into persons in 'backup.mdb' from persons where city='beijing';
(4)多個表關聯選取資料。
select p.lastname,o.orderno into persons_order_backupfrom persons p inner join orders o on p.id_p=o.id_p;
SQL 將查詢結果插入到另一張表中
1 如果兩張表 匯出表和目標表 的字段一致,並且希望插入全部資料,可以用這種方法 insert into 目標表 select from 表 where 條件 例如,要將 test 表插入到 newtest 表中,則可以通過如下sql語句實現 insert into newtest select f...
將一張表的查詢結果插入到另一張表
select into 和 insert into select 兩種表複製語句 2select into desttbl from srctbl34 insert into desttbl fld1,fld2 select fld1,5 from srctbl56 以上兩句都是將 srctbl 的...
Oracle中把一張表查詢結果插入到另一張表中
oracle中把一張表查詢結果插入到另一張表中 一 oracle資料庫中,把一張表的查詢結果直接生成並匯入一張新錶中。例如 現有只有a表,查詢a表,並且把結果匯入b表中。使用如下sql語句 sql create table b as select from a 二 oracle資料庫中支援把查詢結果...