mysql中把一個表的數據批量導入另一個表中
不管是在網站開發還是在應用程序開發中,我們經常會碰到需要將MySQL或MS SQLServer某個表的數據批量導入到另一個表的情況,甚至有時還需要指定導入字段。
www.2cto.com
本文就將以MySQL數據庫為例,介紹如何通過SQL命令行將某個表的所有數據或指定字段的數據,導入到目標表 中。此方法對於SQLServer數據庫,也就是T-SQL來說,同樣適用 。
類別一、 如果兩張張表(導出表和目標表)的字段一致,並且希望插入全部數據,可以用這種方法:(此方法只適合導出兩表在同一database)
INSERT INTO 目標表 SELECT * FROM 來源表;
例如,要將 articles 表插入到 newArticles 表中,則可以通過如下SQL語句實現:
INSERT INTO newArticles SELECT * FROM articles;
類別二、 如果只希望導入指定字段,可以用這種方法:
www.2cto.com
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 www.2cto.com
//使用完成後,關閉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
將表名和數據庫連接字符串用代碼拼接好 然後執行上述您需要的sql語句 程序功能即可完成