mysql 從一個表中查數據並插入另一個表實現方法


mysql 從一個表中查數據並插入另一個表實現方法

不管是在網站開發還是在應用程序開發中,我們經常會碰到需要將MySQL或MS SQLServer某個表的數據批量導入到另一個表的情況,甚至有時還需要指定導入字段。

本文就將以MySQL數據庫為例,介紹如何通過SQL命令行將某個表的所有數據或指定字段的數據,導入到目標表 中。此方法對於SQLServer數據庫,也就是T-SQL來說,同樣適用 。

類別一、 如果兩張張表(導出表和目標表)的字段一致,並且希望插入全部數據,可以用這種方法:

INSERT INTO  目標表  SELECT  * FROM  來源表 ;

例如,要將 articles 表插入到 newArticles 表中,則可以通過如下SQL語句實現:

INSERT INTO  newArticles  SELECT  * FROM  articles ;

類別二、 如果只希望導入指定字段,可以用這種方法:

INSERT INTO  目標表 (字段1, 字段2, ...)  SELECT   字段1, 字段2, ...   FROM  來源表 ;

 

INSERT INTO TPerson ( UserId, DepId )
SELECT UserId,DepId FROM TUser WHERE 'Status' = 0;

 

 

類別三:如果您需要只導入目標表中不存在的記錄,可以使用這種方法:
  
INSERT INTO 目標表  
 (字段1, 字段2, ...)  
 SELECT 字段1, 字段2, ...  
 FROM 來源表  
 WHERE not exists (select * from 目標表  
 where 目標表.比較字段 = 來源表.比較字段); 
 
 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);

 

 


版權聲明:本文部分為CSDN博主「Tina_1202」的原創文章。
原文鏈接:https://blog.csdn.net/Tina_1202/article/details/78999258

 部分轉載自https://www.jb51.net/article/112917.htm;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM