方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么查询所有索引

查看表中有哪些索引

语法为:

select * from user_indexes where table_name = '表名'

或者

select * from all_indexes where table_name = '表名'

查看表中索引对应哪些列

select * from user_ind_columns where table_name='表名'

扩展知识:

oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面,

其中

user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息,

user_ind_columns 统视图存放的是索引名称,对应的表和列等

sql示例:

select* from all_indexes where table_name='ACM_NETWORK_OPERATION';
select * from user_ind_columns where table_name='ACM_NETWORK_OPERATION';

创建一个简单的索引

SQL CREATE INDEX 语法

在表上创建一个简单的索引。允许使用重复的值:

CREATE INDEX index_name
ON table_name (column_name)

SQL CREATE UNIQUE INDEX 语法

在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。Creates a unique index on a table. Duplicate values are not allowed:

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

注释:用于创建索引的语法在不同的数据库中不一样。因此,检查您的数据库中创建索引的语法。

CREATE INDEX 实例

下面的 SQL 语句在 "Persons" 表的 "LastName" 列上创建一个名为 "PIndex" 的索引:

CREATE INDEX PIndex
ON Persons (LastName)

如果您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:

CREATE INDEX PIndex
ON Persons (LastName, FirstName)

Oracle 的 DROP INDEX 语法:

DROP INDEX index_name

推荐教程:《Oracle视频教程》

以上就是oracle怎么查询所有索引的详细内容,转载自php中文网

点赞(129) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部