oracle查看该用户的所有表名字、表注释、字段名、字段注释、是否为空、字段类型,oracle字段
--oracle查看该用户的所有表名字、表注释、字段名、字段注释、是否为空、字段类型
select distinct TABLE_COLUMN.*,
TABLE_NALLABLE.DATA_TYPE,
TABLE_NALLABLE.NULLABLE
from (select distinct utc.table_name table_name,
utc.comments table_comments,
ucc.column_name column_name,
ucc.comments column_comments
from user_tab_comments utc, user_col_comments ucc
where utc.table_name = ucc.table_name
and utc.table_name not like '%_B'
and utc.table_name not like '%_Z'
and utc.table_name not like '%1%') TABLE_COLUMN,
(select distinct table_name, column_name, nullable, DATA_TYPE
from user_tab_cols
where table_name not like '%_B'
and table_name not like '%_Z'
and table_name not like '%1%') TABLE_NALLABLE
where TABLE_COLUMN.column_name = TABLE_NALLABLE.column_name
and TABLE_COLUMN.TABLE_NAME = TABLE_NALLABLE.table_name
--and TABLE_COLUMN.column_comments like '%分类名称%'
and TABLE_COLUMN.table_comments like '%字典%';
--多次去掉笛卡尔楼主可以使用下面的语句:
SELECT b.column_name column_name --字段名
,b.data_type data_type --字段类型
,b.data_length --字段长度
,a.comments comments --字段注释
FROM user_col_comments a
,all_tab_columns b
WHERE a.table_name = b.table_name and
a.table_name = 'table_name';
PS:
table_name 大小写敏感。
查询表的所有列及其属性:
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 = women;
查找表的主键:
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 = women;
查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = women
查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称;
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名;