当前位置: 首页 > news >正文

select into 与 insert into select

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

      Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

      1.INSERT INTO SELECT语句

      语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:


   --1.创建测试表
    create TABLE Table1
    (
        a varchar(10),
        b varchar(10),
        c varchar(10),
        CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a ASC
        )
    ) ON [PRIMARY]

    create TABLE Table2
    (
        a varchar(10),
        c varchar(10),
        d int,
        CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
        (
            a ASC
        )
    ) ON [PRIMARY]
    GO
    --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)
    GO
    select * from Table2

    --3.INSERT INTO SELECT语句复制表数据
    Insert into Table2(a, c, d) select a,c,5 from Table1
    GO

    --4.显示更新后的结果
    select * from Table2
    GO
    --5.删除测试表
    drop TABLE Table1
    drop TABLE Table2


      2.SELECT INTO FROM语句

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:


   --1.创建测试表
    create TABLE Table1
    (
        a varchar(10),
        b varchar(10),
        c varchar(10),
        CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a ASC
        )
    ) ON [PRIMARY]
    GO

    --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)
    GO

    --3.SELECT INTO FROM语句创建表Table2并复制数据
    select a,c INTO Table2 from Table1
    GO

    --4.显示更新后的结果
    select * from Table2
    GO
    --5.删除测试表
    drop TABLE Table1
    drop TABLE Table2

转载于:https://www.cnblogs.com/fjg-jhrs/p/6030566.html

相关文章:

  • [CentOs7]iptables防火墙安装与设置
  • viewPager + fragment
  • 从内核文件系统看文件读写过程【转】
  • Jupiter的安装和使用
  • 【趣解编程】条件语句if
  • [OC]UILabel 文字长的截断方式
  • SqlServer基础系列——row_number() rank() dense_rank()SqlServer系列笔记
  • 项目管理文件夹模板
  • 网站开发之DIV+CSS简单布局网站入门篇(五)
  • Nodejs基础:路径处理模块path总结
  • gcc选项-g与-rdynamic的异同_转
  • 思维改变生活:亲身经历了就一定能明白吗?
  • Python2除法
  • Android学习之ViewPager(一)——ViewPager的简单使用
  • 微信聊天和朋友圈可以拍摄和分享大视频?
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 07.Android之多媒体问题
  • 2017年终总结、随想
  • Bytom交易说明(账户管理模式)
  • css布局,左右固定中间自适应实现
  • ESLint简单操作
  • If…else
  • Invalidate和postInvalidate的区别
  • MaxCompute访问TableStore(OTS) 数据
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • session共享问题解决方案
  • use Google search engine
  • Vue组件定义
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 构建二叉树进行数值数组的去重及优化
  • 精彩代码 vue.js
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何进阶一名有竞争力的程序员?
  • 什么是Javascript函数节流?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 消息队列系列二(IOT中消息队列的应用)
  • 学习JavaScript数据结构与算法 — 树
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 如何正确理解,内页权重高于首页?
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • ( 10 )MySQL中的外键
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (MATLAB)第五章-矩阵运算
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (过滤器)Filter和(监听器)listener
  • (七)Knockout 创建自定义绑定
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程