如果两张表字段相同的话:
insert into newtable as select from oldtable
如果两张表字段不同的话:
insert into newtable(col1,col2,col3) as select acol1,acol2acol3 from oldtable b
注:newtable是目标表 oldtable是源表
分为两种情况,一种是目标表不存在,另一种是目标表已存在,语法是不同的。
分别以sqlserver和oracle为例,两者略有不同。
sqlserver中,如果目标表不存在:
select into 新表名 from 旧表名;sqlserver中,如果目标表已存在:
insert into 新表名 select from 旧表名;oracle中,如果目标表不存在:
create table 新表名 as select from 旧表名;oracle中,如果目标表已存在(方法同sqlserver):
insert into 新表名 select from 旧表名;
问:将DB1表A的数据导入到DB2的表B中?
数据库:DB1 表:A
数据库:DB2 表:B
答:分以下几种情况:
数据量很小,表结构一致
1、select from DB1dboA
2、结果集全选,复制。
3、表B,右键-编辑前200行,然后粘贴即可。
DB1和DB2在同一台服务器
1、INSERT INTO SELECT语句
语句形式为:Insert into DB2dboB(field1,field2) select value1,value2 from DB1dboA
要求目标表B必须存在,由于目标表B已经存在,所以我们除了插入源表A的字段外,还可以插入常量。
2、SELECT INTO FROM语句
语句形式为:SELECT value1, value2 into DB2dboB from DB1dboA
要求目标表B不存在,因为在插入时会自动创建表B,并将A中指定字段数据复制到B中。
DB1和DB2在不同服务器
1、在DB1里面创建连接DB2的对象,
--创建链接服务器 (其中db2server是DB2的ip地址或服务器名)exec sp_addlinkedserver 'srv_lnk', '', 'SQLOLEDB','db2server'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','123456789'
Go
--数据导入(表B存在)
Insert into srv_lnkDB2dboB(field1,field2)
select value1,value2 from DB1dboA
--数据导入(表B不存在)
SELECT value1,value2 into srv_lnkDB2dboB
from DB1dboA
--关闭连接
exec sp_dropserver 'srv_lnk','droplogins'
以上就是关于sql 2005中怎么把一个数据库里的表及表里的数据导入到另一个数据库全部的内容,包括:sql 2005中怎么把一个数据库里的表及表里的数据导入到另一个数据库、如何将数据库中一张表的全部内容复制到数据库中另一张表中、sql server 2008 中如何将一个数据库中已建好的表中的数据导入到另一个sql2008数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)