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 =?'外键引用表的键名'
?
?