如何将两个数据库合并

时间:2022-09-15 23:16:08
也不知道这样的问题是否普遍,现有两个数据库,其中所含的表,表结构完全一直,但其存储的数据一个是05年的,另一个是06年的,怎么样才能把两个数据库合并为一个库??

5 个解决方案

#1


如果所有表结构完全一样,用DTS把数据从05的追加进去06的就可以了

#2


如果表中没有主键的情况下在查询分析器里面输入下列语句:
意思是将表一的内容合并到表2

insert into 表2 select * from 表1 

如果该表有主键的话(因为SQL规定主键不能重复)就使用下面的语句:
意思是将表一中主键号与表2中主键号不一样的合并到表2

insert into 表2 select * from 表1  where id not in(select id from 表2)

#3


我的这两个数据库所含的表很多,如果这样合并的话太慢了,有没有更好的解决办法??

#4


用DTS(数据交换服务)

首先:你打开“SQL企业管理器”—>打开“SQL Server组”   一直到你想“合并的数据库”


右键电击你打算导入数据的数据库,接着把鼠标移向“所有任务”,选择里面的“导入数据”。

这时会进入“DTS导入/导出向导”点击“下一步”,这时窗口上会提示你:要从何处复制数据?

在这里因为你是本机拷贝,所以“服务器”这项选择“(local)”,接着任你选择Windows身份验证,还是SQL Server身份验证。在“数据库(B)”这里选择‘你打算被拷贝的数据库’.点击“下一步”。

这时会出现类适于上次的窗口。不过这次你需要在“数据库(D)”,这里选择“你想拷贝数据的数据库”,最后你就只管点击“下一步“,一直到”完成“为止。这样就OK了

这东西不复杂,你跟着我给你说的一步一步做。(在复制数据时一定要看清楚你要复制的数据库和被复制的数据库)

#5


记得结帐哦

#1


如果所有表结构完全一样,用DTS把数据从05的追加进去06的就可以了

#2


如果表中没有主键的情况下在查询分析器里面输入下列语句:
意思是将表一的内容合并到表2

insert into 表2 select * from 表1 

如果该表有主键的话(因为SQL规定主键不能重复)就使用下面的语句:
意思是将表一中主键号与表2中主键号不一样的合并到表2

insert into 表2 select * from 表1  where id not in(select id from 表2)

#3


我的这两个数据库所含的表很多,如果这样合并的话太慢了,有没有更好的解决办法??

#4


用DTS(数据交换服务)

首先:你打开“SQL企业管理器”—>打开“SQL Server组”   一直到你想“合并的数据库”


右键电击你打算导入数据的数据库,接着把鼠标移向“所有任务”,选择里面的“导入数据”。

这时会进入“DTS导入/导出向导”点击“下一步”,这时窗口上会提示你:要从何处复制数据?

在这里因为你是本机拷贝,所以“服务器”这项选择“(local)”,接着任你选择Windows身份验证,还是SQL Server身份验证。在“数据库(B)”这里选择‘你打算被拷贝的数据库’.点击“下一步”。

这时会出现类适于上次的窗口。不过这次你需要在“数据库(D)”,这里选择“你想拷贝数据的数据库”,最后你就只管点击“下一步“,一直到”完成“为止。这样就OK了

这东西不复杂,你跟着我给你说的一步一步做。(在复制数据时一定要看清楚你要复制的数据库和被复制的数据库)

#5


记得结帐哦