如何合并多个数据库

如何合并多个数据库,第1张

1:选择相对较为简单的数据做为从数据库,另外一个数据库作为主数据库。

2:将从数据库里面的数据合并到主数据库里,有几点要注意的,首先你要搞清楚从数据库里面的表和主数据库里面表有没重复(不仅仅是表名,含义相同也视为相同。)如果有重复,就再检查从数据库这个表里的字段,有没重复(主要是含义是否相同),如果重复就只需要把字段信息拷贝到主数据库这个表里就行,没有重复,直接把整个字段添加进去就行。至于没有重复的表,整个直接拷贝。

3记录你合并数据库里面对从数据库里面字段和表的修改信息,包括字段类型。这一点非常重要!

4修改从数据库所在的系统,把相关连接数据库的表和字段的编码修改过和主数据库一致!

5主系统不用做任何修改,最后进行测试!

以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',TestdboTable_B)

select from TestdboTable_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 dboTable_B) select from dboTable_A

将表名和数据库连接字符串用代码拼接好 然后执行上述您需要的sql语句 程序功能即可完成

将一个mysql数据库中的一个表导入到另一个mysql数据库中

db1为原数据库,db2为要导出到的数据库,fromtable 是要导出的表名

1方法一:

登录导出到的数据库,执行

create table fromtable select from db1fromtable;

2方法二:

在cmd下执行,mysqldump -u root -p db1 fromtable file=d:/fromtablesql; 输入秘密,root为用户名

登录db2 执行 source d:/fromtablesql;

3方法三:

登录db1 执行 select from fromtable into outfile "d:/fromtable txt"; 导出纯数据格式

登录db2 执行 load data infile d:/fromtable txt into table fromtable; 需要先建一张和原表结构一样的空表。

4建一个odbc连接,先导出到access中,再导出到另一个库中。

--先把表1和表2的solver合并起来,再分别和表1,表2做连接

With T

As

(

    Select solver From 表1

    union 

    Select solver From 表2

)

Select Tsolver,Isnull(Aamount1,0) As amount1,isnull(Bamount2,0) As amount2 From T

Left Join 表1 A on Tsolver=Asolver

Left Join 表2 B on Tsolver=Bsolver

追加到另一个MDB:

insert

into

目标MDB的表名(字段列表)

in

'C:\db2mdb

'

select

字段列表

from

当前MDB的表名

insert

into

[;database=C:\db2mdb]目标MDB的表名(字段列表)

select

字段列表

from

当前MDB的表名

里面提到的

目标MDB的表名(字段列表)

AA库中有A,B,C表,

BB库中有A,B,C表,

且:A表中的字段:a,b,c;B表中的字段:aa,bb,cc

索然相应的表的字段一样,但各个表的字段不尽一样,且表很多

这样一个表一个表的表名列表和各个表的字段列表,工作量很大啊

又没有更好的办法去实现合并(或连接)呢?

对我有用[0]丢个板砖[0]引用举报管理TOPwangtiecheng(不知不为过,不学就是错!)等

级:更多勋章

以上就是关于如何合并多个数据库全部的内容,包括:如何合并多个数据库、mysql怎么合并一个库中的所有表合并查询、sqlserver 数据库表数据合并等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/9538661.html

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

发表评论

登录后才能评论

评论列表(0条)

保存