【转】Oracle查询用户所有表

  1. 查询所有用户的表,视图等
select * from all_tab_comments;

  2.  查询本用户的表,视图等

select * from user_tab_comments;

  3.  查询所有用户的表的列名和注释

select * from all_col_comments;

  4.  查询本用户的表的列名和注释

select * from user_col_comments;

  5.  查询所有用户的表的列名等信息(详细但是没有备注)

select * from all_tab_columns;

  6.  查询本用户的表的列名等信息(详细但是没有备注)

select * from user_tab_columns;

  7.  一般使用1

select t.table_name,t.comments from user_tab_comments t;

  8. 一般使用2

select r1, r2, r3, r5
from (select a.table_name r1, a.column_name r2, a.comments r3
          from user_col_comments a),
       (select t.table_name r4, t.comments r5 from user_tab_comments t)
where r4 = r1;

 

如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

  1. 查找表的所有索引(包括索引名,类型,构成列)

 

SELECT T.*, I.INDEX_TYPE
  FROM USER_IND_COLUMNS T, USER_INDEXES I
 WHERE T.INDEX_NAME = I.INDEX_NAME
   AND T.TABLE_NAME = I.TABLE_NAME
   AND T.TABLE_NAME = '要查询的表';

 

  2.  查找表的主键(包括名称,构成列)

SELECT CU.*
  FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
 WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
   AND AU.CONSTRAINT_TYPE = 'P'
   AND AU.TABLE_NAME = '要查询的表';

  3.  查找表的唯一性约束(包括名称,构成列)

SELECT COLUMN_NAME
  FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
 WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
   AND AU.CONSTRAINT_TYPE = 'U'
   AND AU.TABLE_NAME = '要查询的表';

  4.  查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询)

    第一步:

select * from user_constraints c where c.constraint_type = 'R' and c.table_name = '要查询的表';

    第二步:查询外键约束的列名

select * from user_cons_columns cl where cl.constraint_name = '外键名称';

    第三步:查询引用表的键的列名

select * from user_cons_columns cl where cl.constraint_name = '外键引用表的键名';

  5.  查询表的所有列及其属性

SELECT T.*, C.COMMENTS
  FROM USER_TAB_COLUMNS T, USER_COL_COMMENTS C
 WHERE T.TABLE_NAME = C.TABLE_NAME
   AND T.COLUMN_NAME = C.COLUMN_NAME
   AND T.TABLE_NAME = '要查询的表';

 

 

                                  转自:http://www.2cto.com/database/201212/174394.html

 

posted @ 2014-06-26 11:10  mygxlgz  阅读(3155)  评论(0编辑  收藏  举报