我目前有两个不同的数据库,我想将表A中的所有列复制或合并到表B中。我使用以下命令
USE B;
INSERT INTO B SELECT * FROM A.col1;
INSERT INTO B SELECT * FROM A.col2;
etc
我想要实现的是
例如,数据库A包含表(A_1,A_2);数据库B包含表(B_1,B_2); 新创建的B应为(A_1,A_2,B_1,B_2)
谢谢Gosh它根本不起作用;
答案 0 :(得分:1)
我没有得到你。
是否要合并表格的列
或合并数据库的表?
将2个表的列合并为1个表
select t1.col1,t1.col2,t2.col1,t2.col2
into newtable
from table1,table2
但要合并数据库中的所有表,这要简单得多。 只需创建数据库并从两个DB导入表。
答案 1 :(得分:0)
在sql-server中创建一个到mysql的链接服务器,并使用openquery从mysql数据库访问这些表。
如何在SqlServer中创建MySql的链接服务器
EXEC master.dbo.sp_addlinkedserver @server = N'LinkServerName',
@srvproduct=N'anything',
@provider=N'MSDASQL',
@datasrc=N'DBNAME',
@provstr=N'gr_uid=userid; gr_pwd=password',
@catalog=N'dbase'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'LinkServerName',
@useself=N'false',
@locallogin=null,
@rmtuser=userid,
@rmtpassword=password
如何通过LinkServer从mySql访问表数据。
Select * FROM OPENQUERY([LinkServerName],'SELECT * FROM MySqlTableName')
答案 2 :(得分:0)
USE B;
INSERT INTO B SELECT * FROM A.col1;
INSERT INTO B SELECT * FROM A.col2;
etc
该代码不正确。
这是sql server的简单示例:
USE [DATABASE];
INSERT INTO [DESTINATION TABLE] SELECT * FROM [DATABASE].[SCHEMA].[SOURCE TABLE]
或
SELECT * INTO [NEW TABLE] FROM [DATABASE].[SCHEMA].[SOURCE TABLE]
我建议在表格中明确写出列。