MySQL:把一張表的數據插入到另一張表

插入全部數據

INSERT INTO 目標表 SELECT * FROM 來源表; -- 2張表的字段完全一致

例如:insert into Test1 select * from Test2;

插入指定字段

INSERT  INTO 目標表 (字段1, 字段2, ...) SELECT 字段1, 字段2,... FROM 來源表; -- 字段必須保持一致

例如:insert into Test1(id,name) select id,name from Test2;

插入目標表中不存在的記錄

INSERT INTO 目標表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來源表 WHERE not exists (select * from 目標表 where 目標表.比較字段 = 來源表.比較字段); 

例如:insert into Test1(id,name) select id,name from Test2 where not exists (select * from Test1 where Test1.id=Test2.id);
 
insert into Test1(id,name) select id,name from Test2 where Test2.id > 100;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章