mysql中把一個表的數據批量導入另一個表中
不管是在網站開發還是在應用程序開發中,我們經常會碰到需要將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
將表名和數據庫連接字符串用代碼拼接好 然后執行上述您需要的sql語句 程序功能即可完成
如何將一個mysql數據庫中的一個表導入到另一個mysql數據庫中
db1為原數據庫,db2為要導出到的數據庫,fromtable 是要導出的表名 1.方法一: 登錄導出到的數據庫,執行 create table fromtable select * from db1.fromtable; 2.方法二: 在cmd下執行,mysqldump -u root -p db1 fromtable file=d:/fromtable.sql; 輸入秘密,root為用戶名 登錄db2 執行 source d:/fromtable.sql; 3.方法三: 登錄db1 執行 select * from fromtable into outfile "d:/fromtable .txt"; 導出純數據格式 登錄db2 執行 load data infile d:/fromtable .txt into table fromtable; 需要先建一張和原表結構一樣的空表。 4.建一個odbc連接,先導出到access中,再導出到另一個庫中。