web開發中,我們經常需要將乙個表的資料插入到另外乙個表,有時還需要指定匯入字段,設定只需要匯入目標表中不存在的記錄,雖然這些都可以在程式中拆分成簡單sql來實現,但是用乙個sql的話,會節省大量**。下面我以mysql資料庫為例分情況一一說明:
1.如果2張表的字段一致,並且希望插入全部資料,可以用這種方法:
insert into 目標表 select * from **表;
insert into inserttest select * from inserttest2;
2.如果只希望匯入指定字段,可以用這種方法:
insert into 目標表 (欄位1, 欄位2, ...) select 欄位1, 欄位2, ... from **表;(這裡的話字段必須保持一致)
insert into inserttest2(id) select id from inserttest2;
3.如果您需要只匯入目標表中不存在的記錄,可以使用這種方法:
insert into 目標表
(欄位1, 欄位2, ...)
select 欄位1, 欄位2, ...
from **表
where not exists (select * from 目標表
where 目標表.比較字段 = **表.比較字段);
1>.插入多條記錄:
insert into inserttest2
(id,name)
select id,name
from inserttest
where not exists (select * from inserttest2
where inserttest2.id=inserttest.id);
2>.插入一條記錄:
insert into inserttest
(id, name)
select 100, 'liudehua'
from dual
where not exists (select * from inserttest
where inserttest.id = 100);
插入資料a表到b表
insert into p web p p.tid,p.title,p.fileurl,p.columnid,p.columnname select l.tid,l.linkname,l.linkurl,3033 as columnid from p link l where l.columnid ...
查詢A表資料插入到B表中 sql
通常使用的插入sql語句大部分是 insert into a a,b,c values 1,2,3 4,5,6 1.同乙個資料庫,a表存在時 在一些特殊的情況下 也可以使用 insert into a a,b,c select a,b,c from b 但是需要注意的是 在這種情況中的 values...
MySQL將表a中查詢的資料插入到表b中
mysql將表a中查詢的資料插入到表b中 假設表b存在 insert into b select from a 假設表b不存在 create table b as select from a 擴充套件 將b表中的某寫字段值插入到a表中 insert into a userid,username se...