通过搜索摸索
,
总结了一下
oracle
中查询表的信息
,
包括表名
,
字段名
,
字段类型
,
主键
,
外键唯一性约束信息
,
索引信息查询
SQL
如下
,
希望对大家有所帮助
:
1
、查询出所有的用户表
select * from user_tables
可以查询出所有的用户表
select owner,table_name from all_tables;
查询所有表
,
包括其他用户表
通过表名过滤需要将字母作如下处理
select * from user_tables where table_name = upper('
表名
'
因为无论你建立表的时候表名名字是大写还是小写的
, create
语句执行通过之
后
,
对应的
user_tables
表中的
table_name
字段都会自动变为大写字母
,
所以必须通过
内置函数
upper
将字符串转化为大写字母进行查询
,
否则
,
即使建表语句执行通过之
后
,
通过上面的查询语
句仍然查询不到对应的记录。
2
、查询出用户所有表的索引
select * from user_indexes
3
、查询用户表的索引
(
非聚集索引
:
select * from user_indexes where uniqueness='NONUNIQUE'
4
、查询用户表的主键
(
聚集索引
:
select * from user_indexes where uniqueness='UNIQUE'
5
、查询表的索引
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name
= i.index_name and