Select Into & Insert Select --SQL

本文介绍如何使用SQL的Insert Select及Select Into语句实现数据从一个表到另一个表的迁移,包括目标表已存在和不存在两种情况下的操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Select Into & Insert  Select 常用于将一个老表的数据放到另一个地方。

准备工作

-- 源数据表

create table #Source(id varchar(20) not null primary key,description varchar(60));

 

-- 待插入的表

create table #Target(id varchar(20),description varchar(60),other varchar(10) );

 

    -- 往源表里插入测试数据

    DECLARE @counter int;

    SET @counter = 10;

 

    --插入一点数据

    WHILE(@counter>0)

    BEGIN

       INSERT into #Source VALUES(@counter,'来源表说明'+cast( @counter as varchar(20)));

      

       SET @counter = @counter-1;

    END

1 目标表已经存在

   

-- insert table(字段)select id from @Source

 

INSERT  #Target(id)  select id from #Source

 

SELECT * FROM #Target

/* 结果数据

1   NULL   NULL

10  NULL   NULL

2   NULL   NULL

3   NULL   NULL

4   NULL   NULL

5   NULL   NULL

6   NULL   NULL

7   NULL   NULL

8   NULL   NULL

9   NULL   NULL

 

*/

 

2 目标表不存在

 

-- 目标表不存在

--SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

 

SELECT * INTO #tmp  FROM #Source

 

SELECT * FROM #tmp

/*

1   来源表说明

10  来源表说明

2   来源表说明

3   来源表说明

4   来源表说明

5   来源表说明

6   来源表说明

7   来源表说明

8   来源表说明

9   来源表说明

 

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值