查询数据库表索引名称、索引字段、创建所以语句

1. 在oracle8以上的版本中,可以使用以下语句进行索引名称和创建索引语句的查询。

SELECT INDEX_NAME,DBMS_METADATA.get_ddl('INDEX',INDEX_NAME,TABLE_OWNER) INDEX_DDL
FROM user_indexes
WHERE table_name like 'KJ_%'; --‘KJ_%’表示一组以KJ开头的表,可以根据
--具体情况更改为相应表名,表明字母区分大小写
查询结果如下
[img]http://dl.iteye.com/upload/attachment/356877/91a1b3ad-1eb6-37c9-82fa-68f55cf75bcb.jpg[/img]
--在此图片中,blog大字段里面是创建该索引的语句。

2. 在oracle10G版本中,可以使用user_ind_columns 去查询数据库的表名、索引名、索引创建所在字段等信息。
select * from user_ind_columns t
where t.table_name like 'KJ_%'; --一组以KJ开头的表,表名区分字母大小写。
查询结果图片
[align=left][img]http://dl.iteye.com/upload/attachment/356875/86a3f595-3940-3e77-8b5d-6ee407aa5ead.jpg[/img][/align]
3. 可以依据user_ind_columns显示字段,去更改查询条件显示相应字段内容,如下:
select t.table_name,t.index_name,t.column_name from user_ind_columns t
where t.table_name like 'KJ_%';
查询结果如下图片所示
[img]http://dl.iteye.com/upload/attachment/356902/82e4a068-14b2-33c3-a2f9-e673d97c06d8.jpg[/img]
4. 也可以尝试如下语句查询,可以显示该索引所属数据库用户。
select * from user_ind_statistics

你可能感兴趣的:(oracle数据库)