Oracle查询表结构的SQL语句

1. 查询表结构基本信息

   select * from user_tables t,user_tab_comments c

   where c.table_name = t.table_name

   and t.table_name = '表名'

 

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

 

select t.COLUMN_NAME,

       t.DATA_TYPE,

       t.DATA_LENGTH,

       t.DATA_PRECISION,

       t.NULLABLE,

       t.COLUMN_ID,

       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 = '表名'

   orderby t.COLUMN_ID ;

 

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

 

select cu.*,c.DATA_TYPE

  from user_cons_columns cu, user_constraints au,user_tab_columns c

 where cu.constraint_name = au.constraint_name

   and c.COLUMN_NAME = cu.column_name

   and c.TABLE_NAME = cu.table_name

   and au.constraint_type = 'P'

   and au.table_name = '表名'

 

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

 

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 = '表名'

 

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

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 = '表名'

 

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

 

select *

  from user_constraints c

 where c.constraint_type = 'R'

   and c.table_name = '表名'

 

7. 查询外键约束的列名

 

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

 

8.查询引用表的键的列名

 

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

猜你喜欢

转载自lyl-zsu.iteye.com/blog/2209183