SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解

 更新时间:2021年08月30日 16:28:52   作者:壊壊—娚孩  
这篇文章主要介绍了SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

做数据库开发的过程中难免会遇到有表数据备份的,而SELECT INTO……和INSERT INTO SELECT…… 这两种语句就是用来进行表数据复制,下面简单的介绍下:

1、INSERT INTO SELECT

语句格式:Insert Into Table2(column1,column2……) Select value1,value2,value3,value4 From Table1 或 Insert Into Table2 Select * From Table1

说明:这种方式的表复制必须要求Table2是事先创建好的

例:

--1.创建表
create TABLE Table1
(
    a varchar(10),
    b varchar(10),
    c varchar(10)
) ;

create TABLE Table2
(
    a varchar(10),
    c varchar(10),
    d varchar(10)
);
commit;
--2.创建测试数据
Insert into Table1 values('赵','asds','90');
Insert into Table1 values('钱','asds','100');
Insert into Table1 values('孙','asds','80');
Insert into Table1 values('李','asds',null);
commit;
--3.复制table1数据到table2中
Insert into Table2(a, c, d) select a,b,c from Table1;
commit;
--或,此种方式必须要求table2和table1的列数相等,而且类型兼容
Insert into Table2 select * from table1;
commit;

以上这些sql在oracle和MS SqlServer中的语法是一样的,可以通用.

2、SELECT INTO……

这种方式的语句可以在Table2不存在的时候进行表数据复制,编译器会根据Table1的表结构自动创建Table2,Table2和Table1的结构基本上是一致的,但是如果已经存在Table2,则编译器会报错.

这种方式的语句在Oracle中和MS SqlServer中是有点差别的,,如下:

语句格式:

Oracle:Create Table2 as Select column1,column2……From Table1 或 Create Table2 as Select * From Table1

MS SqlServer:Select column1,column2…… into Table2 From Table1 或 Select * into Table2 From Table1

例:

--Oracle
--1.创建表
create TABLE Table1
(
    a varchar(10),
    b varchar(10),
    c varchar(10)
) ;

commit;
--2.创建测试数据
Insert into Table1 values('赵','asds','90');
Insert into Table1 values('钱','asds','100');
Insert into Table1 values('孙','asds','80');
Insert into Table1 values('李','asds',null);
commit;
--3.复制table1数据到table2中
Create Table Table2 as select a,b,c From table1;
Commit;
--或(这两种方式的sql只能应用一次)
Create table table2 as select * From Table1;
Commit;
--删除表
drop table table1;
drop table table2;
commit;
--MS SqlServer
--1.创建表
create TABLE Table1
(
    a varchar(10),
    b varchar(10),
    c varchar(10)
) ;

commit;
--2.创建测试数据
Insert into Table1 values('赵','asds','90');
Insert into Table1 values('钱','asds','100');
Insert into Table1 values('孙','asds','80');
Insert into Table1 values('李','asds',null);
commit;
--3.复制table1数据到table2中
Select a,b,c into Table2 From table1;
Commit;
--或(这两种方式的sql只能应用一次)
Select * into table2 From Table1;
Commit;
--删除表
drop table table1;
drop table table2;
commit;

到此这篇关于SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解的文章就介绍到这了,更多相关SQL Server之SELECT INTO 和 INSERT INTO SELECT内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Sql Server导入mdf和ldf文件的教程详解

    Sql Server导入mdf和ldf文件的教程详解

    有时候我们需要导入mdf和ldf文件进入SQL SERVER中,本文给大家介绍了Sql Server导入mdf和ldf文件的详细教程,文中介绍了导入的两种方法,通过图文结合的方式介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • SQL Server批量插入数据案例详解

    SQL Server批量插入数据案例详解

    这篇文章主要介绍了SQL Server批量插入数据案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 总结SQL执行进展优化方法

    总结SQL执行进展优化方法

    谈到优化就必然要涉及索引,就像要讲锁必然要说事务一样,建议读者先了解一下索引。
    2015-08-08
  • sql 随机抽取几条数据的方法 推荐

    sql 随机抽取几条数据的方法 推荐

    前段时间在做项目的时刻。总是遇到这样一个问题。就是要怎么去让首页显示的内容不断的变化。想了很久。也没有什么结果。后面去想了一下。得出以下一个结果
    2009-06-06
  • SQL Server中执行动态SQL

    SQL Server中执行动态SQL

    本文详细讲解了SQL Server中执行动态SQL的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • SQL Server查看服务器角色的实现方法详解

    SQL Server查看服务器角色的实现方法详解

    这篇文章主要为大家介绍了SQL Server查看服务器角色的实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • SQL Server中索引的用法详解

    SQL Server中索引的用法详解

    本文详细讲解了SQL Server中索引的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 一句Sql把纵向表转为横向表,并分别分组求平均和总平均值

    一句Sql把纵向表转为横向表,并分别分组求平均和总平均值

    一句Sql把纵向表转为横向表,并分别分组求平均和总平均值,需要的朋友可以参考下。
    2010-06-06
  • SqlServer表死锁的解决方法分享

    SqlServer表死锁的解决方法分享

    前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉。本文表锁住了的解决方法。
    2011-08-08
  • SQL Server双服务器架设并数据自动同步教程

    SQL Server双服务器架设并数据自动同步教程

    自编程序由单机版改为网络版后,使用范围迅速扩大,如何保障数据库万无一失成为一个重要解决的问题于是想到架设双服务器并数据自动同步,详细步骤如下
    2012-11-11

最新评论