Oracle中复制表结构

1.复制表结构以及数据
备注:新表的默认值和索引不会被建立

create table  table_name as select * from table_name;

2.只复制表结构,不复制数据

create table table_name as select * from table_name where 1=2;

3.只复制数据

insert into table select * from table_name;

4.只复制部分数据

insert into table_name (column1,column2,column3) select x1,x2,x3 from table_name

5.从数据库中获取字段的字段和及字段类型。我们自己在做数据字段的时候,可以从这里来抓取。

SELECT t.table_name,
       t.colUMN_NAME,
       t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
       t1.COMMENTS
  FROM User_Tab_Cols t, User_Col_Comments t1
WHERE t.table_name = t1.table_name
    AND t.column_name = t1.column_name
    AND t.table_name='SFBA_T'

--dba_tab_columns  需要DBA的查询全权限
select owner,table_name,column_name,
data_type || '(' || data_length ||')'
from dba_tab_columns
where table_name = upper('sfba_t') and owner='DSDATA'

--all_tab_columns 所有用户下面的表
SELECT * FROM ALL_TAB_COLUMNS
where owner=upper('dsdata') and table_name=upper('sfba_t')
Oracle中复制表结构_第1张图片

查询系统表

select table_name from user_tables; --当前用户的表       
select table_name from all_tables; --所有用户的表   
select table_name from dba_tables; --包括系统表

你可能感兴趣的:(Oracle中复制表结构)