chenjc_it 发表于 2013-1-29 15:17:07

Oracle查询表结构的常用语句

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 = '表名'
   order by 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 = '外键引用表的键名'
 
 
 
 
 
 
 
页: [1]
查看完整版本: Oracle查询表结构的常用语句