如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

如题所述

第1个回答  2013-10-18
查询出所有的用户表。
查所有用户的表在all_tables
主键名称、外键在all_constraints
索引在all_indexes
但主键也会成为索引,所以主键也会在all_indexes里面。
具体需要的字段可以DESC下这几个view,dba登陆的话可以把all换成dba。
查询用户表的索引(非聚集索引):
select * from user_indexes
where uniqueness = 'NONUNIQUE '
查询用户表的主键(聚集索引):
select * from user_indexes
where uniqueness = 'UNIQUE '
1、查找表的所有索引(包括索引名,类型,构成列):
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 = 要查询的表
2、查找表的主键(包括名称,构成列):
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 = 要查询的表
3、查找表的唯一性约束(包括名称,构成列):
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 = 要查询的表
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表
查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称
查询引用表的键的列名:本回答被提问者采纳
第2个回答  2014-04-23
select * from all_tables;
select * from all_constranints.

如何在oracle中查询所有用户表的表名、主键名称、索引、外键等
1、查找表的所有索引(包括索引名,类型,构成列):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 = 要查询的表 2、查找表的主键(包括名称,构成列):select cu.* from use...

如何在oracle中查询所有用户表的表名、主键名称、索引、外键等
1、查找表的所有索引(包括索引名,类型,构成列):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 = 要查询的表2、查找表的主键(包括名称,构成列):select cu.* from user...

Oracle中怎样查看所有的表,列,属性,主键等信息
1、首先开启Oracle管理工具,找到Tablespaces。2、首先要看的是表空间的总大小和使用状况以及当前状态。3、Free Space 里面是各个表中的相关大小信息(一个表空间可能有多个表在使用)。4、Objects 就如第三步中所提到的使用这个表空间的表明细。5、Script 是创建表空间的PL\/SQL,可以去了解它的相关信息...

ORACLE中,如何根据已知的主键查询所有引用这个主键的外键的表
在toad中选中表名,按F4,选择Referential,即可看到关于此表关联的主键或外键的表了,如附件图。

oracle怎么查看外键在哪个表
violated - child record found 可以通过执行 select table_name from dba_constraints where constraint_name='FK_T_BME_TASKRUNRESULT_TASKID' and constraint_type = 'R';查询出外键是建在T_BME_TASKRUNRESULT表上的,先把T_BME_TASKRUNRESULT表删除,就可以删除 t_bme_task表记录了。

如何查询Oracle中所有用户信息
方法如下:输入select * from dba_users; 即可。常用语句:一,查看数据库里面所有用户:select * from dba_users;前提是你是有dba权限的帐号,如sys,system。二,查看你能管理的所有用户:select * from all_users;三,查看当前用户信息 :select * from user_users;...

在oracle中查询表之间外键的执行语句怎么写?
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表 。查询外键约束的列名: select * from user_cons_columns cl where cl.constraint_name = 外键名称 查询引用表的键的列名: select * from user_cons_columns cl where cl.constraint_name = ...

在Oracle中,有没有查看一个表外键的SQL语句?
索引名, b.TABLE_NAME 主键表名, a.TABLE_NAME 外键表名, CONSTRAINT_TYPE, CONSTRAINT_NAME 约束名 from all_indexes a, all_constraints b where b.TABLE_NAME='AC' AND CONSTRAINT_TYPE IN('P','R')and R_CONSTRAINT_NAME=INDEX_NAME(+)\/ CONSTRAINT_TYPE='P'为主键,='R'为外键 ...

oracle中如何判断本表有多少张表对其有外键关联
我就记得dba_constraints视图能查到关联,你的外键这个应该是找constraint_type='R'的,不过视图内的具体字段我忘了,你与要自己找找,应该有你想要的东西。

oracle唯一性约束的查询
不知道你有没有pl\/sql。在pl\/sql的sql window 里写上你这你这个表的表名,按住ctrl键再用鼠标点这个表名,就会出现关于这个表的信息窗然后点击‘key’这个选项卡就可以看到唯一键约束,主键约束,外键,点击check可以看到其他完整性约束的名 不用写语句也很直观 ...

相似回答