SQLite 索引依據
"INDEXED BY index-name" 子句規定必須需要命名的索引來尋找前面表中值。
如果索引名稱 index-name 不存在或無法用於查詢,然後 SQLite 語句的準備失敗。
"NOT INDEXED" 子句規定當存取前面的資料表(包括 UNIQUE 和 PRIMARY KEY 約束建立的隱含索引)時,沒有使用索引。
然而,即使指定了 "NOT INDEXED",INTEGER PRIMARY KEY 仍然可以用來尋找條目。
語法
下面是INDEXED BY 子句的語法,它可以與DELETE、UPDATE 或SELECT 語句一起使用:
SELECT|DELETE| UPDATE column1, column2...
INDEXED BY (index_name)
table_name
WHERE (CONDITION);
INDEXED BY (index_name)
table_name
WHERE (CONDITION);
#實例
#假設有表COMPANY,我們將建立一個索引,並用它進行INDEXED BY 操作。
sqlite> CREATE INDEX salary_index ON COMPANY(salary);
sqlite>
sqlite>
#現在使用INDEXED BY 子句從表格COMPANY 中選擇資料,如下所示:
sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000;