SELECT INTO , INSERT INTO SELECT 和 CREATE TABLE AS SELECT

  • INSERT INTO SELECT
  • Create table newTable as select * from

复制表的数据,将A表的数据复制到B表中,常见的操作方式有三种:

  1. INSERT INTO SELECT
  2. CREATE TABLE AS SELECT

INSERT INTO SELECT

语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1
注意:
(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
Insert into Table2(field1,field2,…) values (select value1,value2,… from Table1)
由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。


Create table newTable as select * from

create. as…select,有以下三种方式;

  1. create table table1 as select * from table2 where 1=2;
    创建一个表结构与table2一模一样的表,只复制结构不复制数据;
  2. create table table1 as select * from table2 ;
    创建一个表结构与table2一模一样的表,复制结构同时也复制数据;
  3. create table table1(columns1,columns2) as select columns1,columns2 from table2;
    创建一个表结构与table2一模一样的表,复制结构同时也复制数据,但是指定新表的列名;

create table as是ddl语句,insert into select是dml语句,insert into select每一条记录的时候都会产生undo和redo,整个过程相比create table as产生的redo和undo相当多。当有大量数据的时候不推荐使用Insert into as,因为该语句的插入的效率很慢。

oracle中create table as和insert into select语句相关推荐

  1. Oracle中selec ... into ... from 和 insert into ... select...from区别

    1.语句形式为: Insert into Table2(field1,field2,...) select value1,value2,... from Table1  2.注意地方: (1)要求目标 ...

  2. oracle中create table with as和insert into with as语句

    oracle支持使用with as 子句来创建表 语法: create table table_name as with clause_name as (select query ) [, claus ...

  3. INSERT INTO SELECT语句概述和示例

    This article covers the SQL INSERT INTO SELECT statement along with its syntax, examples and use cas ...

  4. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...

    create table  as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...

  5. db2中create table as的建表方式

    DB2没有类似oracle的create table as select来定义表的方式,所以DB2中把SELECT查询出来的结果定义为别的表比较麻烦! DB2定义表的3种方式: 首先创建一个例子表,再 ...

  6. mysql table as_Mysql中create table as与like命令的区别

    MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准 ...

  7. mysql insert 主键冲突_在MySql中建立存储过程和解决insert into select 中主键冲突的有关问题...

    首先说需求,我想重复插入大量数据,那么首先想到的,就是用insert into select语句. 但是因为mysql中没有将主键设为自增长,导致每次都会报主键冲突的错误,插入失败. 对于这个问题,就 ...

  8. SQL Server 中 SELECT INTO 和 INSERT INTO SELECT语句的区别

    SQL Server 中 SELECT INTO 和 INSERT INTO SELECT语句的区别 我们在写存储过程的时候经常会遇到需要将查询到的数据存到一张表里面的情况,如将一个table1的数据 ...

  9. 因用了Insert into select语句,同事被开除了!

    " Insert into select 请慎用,同事因为使用了 Insert into select 语句引发了重大生产事故,最后被开除. 作者:不一样的科技宅 https://jueji ...

最新文章

  1. 进入页面先刷新一次_转盘抽奖分享得积分,防止页面被恶意
  2. bootstrap layui 两种分页的实现
  3. vb.net 线程偶尔不会自动关闭_C# 多线程系列(7)手动线程通知
  4. Angular复习笔记(一)
  5. C++debug调试出现heap corruption detected: after normal block 可能的原因
  6. 拾遗----javascript一些实用方法
  7. java的类的设计_Java 类设计技巧
  8. 设计模式的C语言应用-适配及系列模式-第六章
  9. 狗和披萨:使用TensorFlow.js在浏览器中实现计算机视觉
  10. ECC椭圆密码算法c语言实现,深入浅出椭圆加密算法ECC
  11. python处理excel的方法有哪些_Python操作Excel简单方法
  12. Pandas文件读取详解
  13. leetcode Largest Rectangle in Histogram 单调栈
  14. C#委托 模板和回调函数
  15. 金格pdf打开服务器文件,金格插件解决方法.pdf
  16. 神经计算棒python_将Pytorch模型部署到Movidius神经计算棒
  17. 计算机应届生的面试经验
  18. Flutter 凉了吗?
  19. 输入一行字符,分别统计出其中的英文字母大写小写、空格、数字和其它字符的个数。
  20. Vue 中 css scoped 样式穿透 ( stylus[] / sass / less[/deep/] )

热门文章

  1. iOS绘图——Quartz 2D使用方法
  2. 01_iOS开发需要准备什么?
  3. 单片机毕业设计 Stm32智能防控门禁系统 - 嵌入式 物联网
  4. Eclipse中Java开发中版权声明及编码风格的注释
  5. 哈工大计算机学院2017届就业报告,哈工大毕业生就业质量报告.pdf
  6. 计算机军中绿花谱子,军中绿花电子琴曲谱
  7. HTML基础入门第一篇
  8. 蓝桥杯之暴力破解、枚举
  9. java arrayadapter_简单好用的Adapter---ArrayAdapter详解
  10. [testng]Cannot find class in classpath