oracle查询表信息(索引,外键,列等)
oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助:
1、查询出所有的用户表
select * from user_tables 可以查询出所有的用户表
通过表名过滤需要将字母作如下处理
select * from user_tables where table_name = upper(‘表名‘)
因为无论你建立表的时候表名名字是大写还是小写的,create语句执行通过之后,对应的user_tables表中的table_name字段都会自动变为大写字母,所以必须通过内置函数upper将字符串转化为大写字母进行查询,否则,即使建表语句执行通过之后,通过上面的查询语句仍然查询不到对应的记录。
select * from user_tab_columns where table_name=upper(‘表名‘);
方法二:
select cname,coltype,width from col where tname=upper(‘表名‘);;
查看索引个数和类别
select * from user_indexes where table_name=‘表名‘ ;
查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper(‘&index_name‘);
PS:
查看某表的约束条件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(‘&table_name‘);
SQL>select c.constraint_name,c.constraint_type,cc.column_name from
user_constraints c,user_cons_columns cc where c.owner =
upper(‘&table_owner‘) and c.table_name = upper(‘&table_name‘) and
c.owner = cc.owner and c.constraint_name = cc.constraint_name order by
cc.position;
查看视图的名称
SQL>select view_name from user_views;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。