Oracle表复制的两种语句详解及示例

前言:

转载请附上连接,本帖原创请勿照抄。

1.INSERT INTO SELECT语句
    语句形式为:Insert into Table2(value1,value2,value3) select * from Table1 where value1='10';
    要求目标表Table2必须存在,并且字段value1,value2,value3也必须存在
     --1.创建测试表  

create TABLE Table1
(
    a varchar(10),
    b varchar(10), 
    c varchar(10) 
)    
create TABLE Table2
(
    a varchar(10),
    b varchar(10), 
    c varchar(10)   
)

      --2.创建测试数据  

Insert into Table1 values('10','猿甲','C++')
Insert into Table1 values('20','猿乙','Java')  
Insert into Table1 values('30','猿丙','python')   
Insert into Table1 values('40','猿丁','WEB')  
select * from Table1;

  --3.INSERT INTO SELECT语句复制表数据  

Insert into Table2(a, c, d) select * from Table1 where A='10';  //a,b,c 也可以使用*代替
select * from Table2;

    --4.删除测试表  
    drop TABLE Table1  
    drop TABLE Table2

2.SELECT INTO FROM语句

语句形式为:SELECT value1, value2,value3 into Table2 from Table1 where value1='10';
目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

   --1.创建测试表  

    create TABLE Table1  
    (  
        a varchar(10),  
        b varchar(10),  
        c varchar(10)
    )

    --2.创建测试数据  

Insert into Table1 values('10','猿甲','C++')
Insert into Table1 values('20','猿乙','Java')  
Insert into Table1 values('30','猿丙','python')   
Insert into Table1 values('40','猿丁','WEB')  
select * from Table1;

   --3.SELECT INTO FROM语句创建表Table2并复制数据  

select a,b,c INTO Table2 from Table1 where A='10';  //a,b,c 也可以使用*代替
select * from Table2  

    --5.删除测试表  
 

drop TABLE Table1
drop TABLE Table2 

借鉴文章https://blog.csdn.net/qq_35893120/article/details/78560973


版权声明:本文为qq_37529913原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。