Latest web development tutorials

SQLite Indexed By

"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);

實例

假設有表COMPANY,我們將創建一個索引,並用它進行INDEXED BY 操作。

sqlite> CREATE INDEX salary_index ON COMPANY(salary);
sqlite>

現在使用INDEXED BY 子句從表COMPANY 中選擇數據,如下所示:

sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000;