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

 

【转】Oracle查询用户所有表,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。