MySql中把一个表的数据插入到另一个表中的实现代码--转
生活随笔
收集整理的這篇文章主要介紹了
MySql中把一个表的数据插入到另一个表中的实现代码--转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MySql中把一個表的數據插入到另一個表中的實現代碼 司的一個項目,做報表--要關聯的表結構比較多,最后決定把要用的數據集合到一張新表中,需要用到以下的sql語法......分享下: web開發中,我們經常需要將一個表的數據插入到另外一個表,有時還需要指定導入字段,設置只需要導入目標表中不存在的記錄,雖然這些都可以在程序中拆分成簡單sql來實現,但是用一個sql的話,會節省大量代碼。下面我以mysql數據庫為例分情況一一說明: 1.如果2張表的字段一致,并且希望插入全部數據,可以用這種方法: ?
| 1 2 | INSERT INTO 目標表 SELECT * FROM 來源表; insert into insertTest select * from insertTest2; |
?
2.如果只希望導入指定字段,可以用這種方法: ?| 1 2 | INSERT INTO 目標表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來源表;(這里的話字段必須保持一致) ???insert into insertTest2(id) select id from insertTest2; |
?
3.如果您需要只導入目標表中不存在的記錄,可以使用這種方法: ?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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); |
?
?
原文:http://www.2cto.com/database/201307/226259.html
轉載于:https://www.cnblogs.com/davidwang456/p/3945583.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的MySql中把一个表的数据插入到另一个表中的实现代码--转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用MySQL的LAST_INSERT_
- 下一篇: Mysql大小写敏感的问题 --转