方法:1、利用「select*from user_indexes where table_name=表名」語句查詢表中索引;2、利用「select*from all_indexes where table_name=表名」語句查詢所有索引。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
檢視表中有哪些索引
語法為:
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中文網其他相關文章!