SQL SERVER中,如何把一个表中的数据导入到另一个表中?

在同一个数据库中,有表A和表B
表A中有字段 a b c
表B中有字段 a b c
两个表中结构可能不太相同,比如主键和关系约束等。
表B中有上千条数据
我只是想把表B中的对应字段的数据导入到表A中,怎么操作呢?
本人SQL只会一知半解,请求高手帮助下,非常感谢。
谢谢大家的回答,还有一个问题,依据大家的答案,我在查询分析器里运行,总是提示“对象名 'B' 无效。”可是B表的表名完全没有错误呀,怎么会无效呢?问题出来哪里呢?谢谢!

再补充下:
这个B表是确实存在的,表名也写的一个字母都不差,两个表都在同一个数据库里,我真是没办法
再问下yanzuoguang同学:
“select * from sysobjects where xtype='U' and name='B'”里“*”和“U”是什么?

1、假如A表存在

则 insert into A(a,b,c) (select a,b,c from B) 

2、假如A表不存在

select a,b,c into A from B 

3、假如需要跨数据库

insert into ADB.[dbo].A(a,b,c)  (select a,b,c from BDB.[dbo].B)

扩展资料:

SQL导入语句

1、如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

insert into openrowset('MSDASQL', 

'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 

'select * from [aa.DBF]') 

select * from 表

说明:

SourceDB=c:\ 指定foxpro表所在的文件夹 

aa.DBF 指定foxpro表的文件名.

2、导出到excel 

EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

3、/** 导入文本文件 

EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-06
我觉得用对了工具,就很简单方便。使用Navicat for sql server,里面有可以直接导出表数据为sql的功能,然后再修改一下导入到别的表就可以了。
第2个回答  2009-08-11
同一库内 不同表之间的导入 两表具有相同字段a,b,c 已测
insert into 数据库名.dbo A(a,b,c) (select a,b,c from 数据库名.dbo.B )
第3个回答  2015-11-17
比如把a表数据导入b表
insert into b select * from a;
如果是值有几个字段需要
insert into b (cl_1,cl_2,cl_3) select cl_a1,cl_a2,cl_a3 from a;
第4个回答  2009-08-11
insert into b(copy 出来A表的字段名) select (copy 出来A表的字段名) from a
相似回答