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')

查询系统表

select table_name from user_tables; --当前用户的表       
select table_name from all_tables; --所有用户的表   
select table_name from dba_tables; --包括系统表
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容