本文就將以MySQL數(shù)據(jù)庫為例,介紹如何通過SQL命令行將某個表的所有數(shù)據(jù)或指定字段的數(shù)據(jù),導(dǎo)入到目標(biāo)表 中。此方法對于SQLServer數(shù)據(jù)庫,也就是T-SQL來說,同樣適用 。
類別一、 如果兩張張表(導(dǎo)出表和目標(biāo)表)的字段一致,并且希望插入全部數(shù)據(jù),可以用這種方法:
INSERT INTO ?目標(biāo)表 ?SELECT ?* FROM ?來源表 ;
例如,要將 articles 表插入到 newArticles 表中,則可以通過如下SQL語句實現(xiàn):
INSERT INTO ?newArticles ?SELECT ?* FROM ?articles ;
類別二、 如果只希望導(dǎo)入指定字段,可以用這種方法:
INSERT INTO ?目標(biāo)表 (字段1, 字段2, ...) ?SELECT ? 字段1, 字段2, ... ? FROM ?來源表 ;
INSERT INTO TPerson ( UserId, DepId ) SELECT UserId,DepId FROM TUser WHERE 'Status' = 0;
類別三:如果您需要只導(dǎo)入目標(biāo)表中不存在的記錄,可以使用這種方法:
INSERT INTO 目標(biāo)表 ?
?(字段1, 字段2, ...) ?
?SELECT 字段1, 字段2, ... ?
?FROM 來源表 ?
?WHERE not exists (select * from 目標(biāo)表 ?
?where 目標(biāo)表.比較字段 = 來源表.比較字段);?
1>.插入多條記錄:
insert into t_users?
(userid)
select userid
from t_game_record
where( not exists (select userid from t_users where t_game_record.userid=t_users.userid))
2>.插入一條記錄:
insert into insertTest ? ?
(id, name) ? ?
SELECT 100, 'liudehua' ? ?
FROM dual ? ?
WHERE not exists (select * from insertTest ? ?
where insertTest.id = 100);
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!