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中,再导出到另一个库中。