首页 >数据库 >Oracle >oracle怎么查询所有索引

oracle怎么查询所有索引

WBOY
WBOY原创
2022-05-13 17:23:5924743浏览

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

oracle怎么查询所有索引

本教程操作环境: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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn