king

oracle怎么查询所有索引

king Oracle 2022-06-26 906浏览 0

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 的文章
发表评论