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