方法: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視頻教程》