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  來源表 ;

請注意以上兩表的字段必須一致,否則會出現數據轉換錯誤。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
INSERT  INTO  TPersonnelChange(
     UserId,
     DepId,
     SubDepId,
     PostionType,
     AuthorityId,
     ChangeDateS,
     InsertDate,
     UpdateDate,
     SakuseiSyaId
) SELECT
     UserId,
     DepId,
     SubDepId,
     PostionType,
     AuthorityId,
     DATE_FORMAT(EmployDate,  '%Y%m%d' ),
     NOW(),
     NOW(),
     1
FROM
     TUserMst
WHERE
     `Status` = 0
AND  QuitFlg = 0
AND  UserId > 2


免責聲明!

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



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