您的位置:首页 > 其它

从一个表中查数据,插入另一个表

2014-03-21 10:45 218 查看
本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用

类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:

INSERT INTO  目标表  SELECT  * FROM  来源表 ;

例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:

INSERT INTO  newArticles  SELECT  * FROM  articles ;

类别二、 如果只希望导入指定字段,可以用这种方法:

INSERT INTO  目标表 (字段1, 字段2, ...)  SELECT   字段1, 字段2, ...   FROM  来源表 ;

请注意以上两表的字段必须一致,否则会出现数据转换错误。

ql server中将一个表中的部分数据插入到另一个表中

1. 存储过程:

CREATE PROCEDURE pro1
as
insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' from tableA where field1='val1'

然后执行,刷新“存储过程”,在新建的存储过程“pro1”上右击“执行存储过程”即可。

如果存储过程写为:

PROCEDURE pro1

as
DECLARE @field1 varchar(30), @field2 varchar(30), @field3 varchar(100), @field4 varchar(10)
select @field1=field1, @field2=field2, @field3=field3 from tableA where field1='val1'

insert into tableB (field1,field2,field3,field4) values(@field1, @field2, @field3,'val4')

只会插入一行记录。

2. 在新建查询中输入:

insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' from tableA where field1='val1'

然后“执行”,即可插入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: