在oracle中查询已知表名的表中所有字段名,每个字段是否是主键,是否是外键,是否为空的sql语句,在线等。
如现在有表women,我想知道表里边每个字段的属性名称,属性定义,数据域,是否主键,是否外键,是否可空。sql应该如何写?谢谢,请尽快答复。...
如现在有表women,我想知道表里边每个字段的属性名称,属性定义,数据域,是否主键,是否外键,是否可空。sql应该如何写?谢谢,请尽快答复。
展开
2个回答
展开全部
查询表的所有列及其属性:
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 = 外键引用表的键名;
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 = 外键引用表的键名;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询