Oracle 复制表内数据,复制表结构


(1)复制表结构,同时复制表内数据。

create table 表1  as select * from 表2;

(2)复制表结构。

create table 表1 as select * from  表2 where 1<>1 ;

当然,关于where字句,也可以是:1=2,1=3等等。

如下,表a是数据库中已经存在的表,b是准备根据表a进行复制创建的表:

  1、只复制表结构的sql

  create table b as select * from a where 1<>1

  2、即复制表结构又复制表中数据的sql

  create table b as select * from a

  3、复制表的制定字段的sql

  create table b as select row_id,name,age from a where 1<>1//前提是row_id,name,age都是a表的列

  4、复制表的指定字段及这些指定字段的数据的sql

  create table b as select row_id,name,age from a

  以上语句虽然能够很容易的根据a表结构复制创建b表,但是a表的索引等却复制不了,需要在b中手动建立。

  5、insert into 会将查询结果保存到已经存在的表中

  insert into t2(column1, column2, ....) select column1, column2, .... from t1

相关内容