方法:1、利用“select*from user_indexes where table_name=表名”語(yǔ)句查詢表中索引;2、利用“select*from all_indexes where table_name=表名”語(yǔ)句查詢所有索引。
本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。
oracle怎么查詢所有索引
查看表中有哪些索引
語(yǔ)法為:
select * from user_indexes where table_name = '表名'
或者
select * from all_indexes where table_name = '表名'
查看表中索引對(duì)應(yīng)哪些列
select * from user_ind_columns where table_name='表名'
擴(kuò)展知識(shí):
oracle中表的索引信息存在 user_indexes 和 user_ind_columns 兩張表里面,
其中
user_indexes 系統(tǒng)視圖存放是索引的名稱以及該索引是否是唯一索引等信息,
user_ind_columns 統(tǒng)視圖存放的是索引名稱,對(duì)應(yīng)的表和列等
sql示例:
select* from all_indexes where table_name='ACM_NETWORK_OPERATION'; select * from user_ind_columns where table_name='ACM_NETWORK_OPERATION';
創(chuàng)建一個(gè)簡(jiǎn)單的索引
SQL CREATE INDEX 語(yǔ)法
在表上創(chuàng)建一個(gè)簡(jiǎn)單的索引。允許使用重復(fù)的值:
CREATE INDEX index_name ON table_name (column_name)
SQL CREATE UNIQUE INDEX 語(yǔ)法
在表上創(chuàng)建一個(gè)唯一的索引。不允許使用重復(fù)的值:唯一的索引意味著兩個(gè)行不能擁有相同的索引值。Creates a unique index on a table. Duplicate values are not allowed:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
注釋:用于創(chuàng)建索引的語(yǔ)法在不同的數(shù)據(jù)庫(kù)中不一樣。因此,檢查您的數(shù)據(jù)庫(kù)中創(chuàng)建索引的語(yǔ)法。
CREATE INDEX 實(shí)例
下面的 SQL 語(yǔ)句在 "Persons" 表的 "LastName" 列上創(chuàng)建一個(gè)名為 "PIndex" 的索引:
CREATE INDEX PIndex ON Persons (LastName)
如果您希望索引不止一個(gè)列,您可以在括號(hào)中列出這些列的名稱,用逗號(hào)隔開:
CREATE INDEX PIndex ON Persons (LastName, FirstName)
Oracle 的 DROP INDEX 語(yǔ)法:
DROP INDEX index_name
推薦教程:《Oracle視頻教程》