首页 > 代码库 > 【转】Oracle查询用户所有表

【转】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, r5from (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