MySQL批量導入數據的實現
MySQL批量導入數據操作應該如何實現呢?這是很多人都提到過的問題,下面就為您介紹MySQL批量導入數據的實現方法,供您參考。
不管是在網站開發(fā)還是在應用程序開發(fā)中,我們經常會碰到需要將MySQL或MS SQLServer某個表的數據批量導入到另一個表的情況,甚至有時還需要指定導入字段。
下面就將以MySQL數據庫為例,介紹如何通過SQL命令行將某個表的所有數據或指定字段的數據,導入到目標表 中。此方法對于SQLServer數據庫,也就是T-SQL來說,同樣適用 。
類別一、 如果兩張張表(導出表和目標表)的字段一致,并且希望插入全部數據,可以用這種方法:(此方法只適合導出兩表在同一database)
INSERT INTO
目標表
SELECT * FROM
來源表
;
例如,要將 articles 表插入到 newArticles 表中,則可以通過如下SQL語句實現:
INSERT INTO
newArticles
SELECT * FROM
articles
;
類別二、 如果只希望導入指定字段,可以用這種方法:
INSERT INTO
目標表 (字段1, 字段2, ...)
SELECT
字段1, 字段2, ...
FROM
來源表
;
請注意以上兩表的字段必須一致(字段類型),否則會出現數據轉換錯誤。
1、跨服務器復制表中數據
- insert into openrowset('sqloledb','localhost';'sa';'123',Test.dbo.Table_B)
- select * from Test.dbo.Table_A
- //啟用Ad Hoc Distributed Queries:
- exec sp_configure 'show advanced options',1
- reconfigure
- exec sp_configure 'Ad Hoc Distributed Queries',1
- reconfigure
- //使用完成后,關閉Ad Hoc Distributed Queries:
- exec sp_configure 'Ad Hoc Distributed Queries',0
- reconfigure
- exec sp_configure 'show advanced options',0
- reconfigure
2、
- //不跨服務器
- insert into dbo.Table_B) select * from dbo.Table_A
將表名和數據庫連接字符串用代碼拼接好 然后執(zhí)行上述您需要的sql語句 程序功能即可完成。
【編輯推薦】