oracle数据迁移--复制表--create table as select & select into & insert into

时间:2022-12-02 06:30:34

1.create table as select 复制表和数据

1.只复制表结构:create table table02 as select * From table01 where id=-1;

3注意事项:

  1:只会复制表数据和表结构,不会有任何约束。表上的索引、触发器等不会被同时克隆,表上的约束被遗失或出于非正常状态

           2:当 where 条件不成立时,只复制表结构,没有任务数据。

2.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的字段外,还可以插入常量。示例如下:

      2.SELECT INTO FROM语句

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

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