如何将mysql数据库一个database中的所有表合并到一个新表中

如何将mysql数据库一个database中的所有表合并到一个新表中,第1张

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

将一个表的数据数据全部附加到另一个表中,只要没有主键冲突的问题,直接insert select 就可以了:

insert into ta(col1,col2,...) select col1,col2,... from tb

如果有冲突,要先将所有主键删除,然后合并后,再重新建主键。

楼主听说过关联查询么?

提一个思路吧,你想要的结果很简单就可以实现的,你只需要将两张表通过文件的ID进行关联,然后查询两张表的所有字段(字段位置可根据情况,摆放先后顺序),然后查询出的结果就是你想要的那个完整的表。最后可以查询结果插入到新的表格。

mysql的话 可以使用insert into select

望采纳!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9571891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存