SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解
作者:壊壊—娚孩 发布时间:2024-01-22 01:11:56
做数据库开发的过程中难免会遇到有表数据备份的,而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;
来源:https://www.cnblogs.com/NaughtyBoy/p/3153082.html


猜你喜欢
- 本篇,我们学习PyQt5界面中拖放(Drag 和Drop)控件。拖放动作在GUI中,拖放指的是点击一个对象,并将其拖动到另一个对象上的动作。
- Python For 循环for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。这与其他编程语言中的 for 关键字不太相似,而是更
- Redis 在 3.2 版本以后增加了地理位置 GEO 模块,意味着我们可以使用 Redis 来实现摩拜单车「附近的 Mobike」、美团和
- 在构建模型时,调参是极为重要的一个步骤,因为只有选择最佳的参数才能构建一个最优的模型。但是应该如何确定参数的值呢?所以这里记录一下选择参数的
- jupyter notebook安装完成之后需要密码,还有某些情况下也会出现需要输入密码的情况解决方法如下:1、在运行界面输入 jupyte
- 二维数组二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列
- 一、seaborn概述Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用sea
- Pygal可用来生成可缩放的矢量图形文件,对于需要在尺寸不同的屏幕上显示的图表,这很有用,可以自动缩放,自适应观看者的屏幕1、Pygal模块
- 我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准
- 先看一个实例这是我用asp写的一个搜索一个字符串里面第一张图片地址的函数(当然你可以将values那里换一个得到所有图片地址)functio
- 由于研究关系需要自己手动给卷积层初始化权值,但是好像博客上提到的相关文章比较少(大部分都只提到使用nn.init里的按照一定分布初始化方法)
- 传统Python语言的主要控制结构是for循环。然而,需要注意的是for循环在Pandas中不常用,因此Python中for循环的有效执行并
- 首先我们知道python通过pip安装,那么我们安装的所有东西都会在我们pip下的配置目录下,这会显得非常臃肿,同样也让我们部署艰难。pyt
- 散点图,顾名思义是一些散乱的点构成的图。那么这些散乱的点有什么作用呢?散点图通过用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是
- 摘要:本篇博客介绍了本教程的目标、适用人群、YOLOv5简介和车牌识别的意义和应用场景。为后续章节打下基础,帮助读者了解YOLOv5和车牌识
- 前言这几年对运维人员来说最大的变化可能就是公有云的出现了,我相信可能很多小伙伴公司业务就跑在公有云上, 因为公司业务关系,我个人
- 学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询。(1) s.capitalize() ;功能:
- 一、python中List添加元素的几种方 * ist 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义
- 预编译语句预编译语句是一种用于执行参数化SQL查询的技术,它可以提高性能并减少SQL注入的风险。预编译语句主要有以下优势:避免SQL注入攻击
- 今天在看文档的时候,发现pytorch 的conv操作不是很明白,于是有了一下记录首先提出两个问题:1.输入图片是单通道情况下的filter