【Oracle】【2】复制表结构及其数据

--复制表结构及其数据
create table table_name_new as select * from table_name_old; 

--只复制表结构
create table table_name_new as select * from table_name_old where 1=2; 
--create table table_name_new like table_name_old  实测行不通

--只复制表数据:
--如果两个表结构一样
insert into table_name_new select * from table_name_old; 
--如果两个表结构不一样
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old;

注意:

1,设置的唯一性约束,默认值,是否为空等都不会被复制过去

2,如果是为了备份数据,命名最好为 原表名加时间(例:TABLE_NAME_190220)

参考博客:

1,如何在Oracle中复制表结构和表数据 【转载】 - 玲珑少年 - 博客园
http://www.cnblogs.com/haibin168/archive/2011/02/26/1966053.html