mysql中把⼀个表的数据批量导⼊另⼀个表中
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、//不夸服务器
db2数据库sql语句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中,再导出到另⼀个库中。