top
Loading...
SQLite Indexed By

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;
北斗有巢氏 有巢氏北斗