SQLite Indexed By

2022-02-21 13:54 更新

"INDEXED BY index-name" 子句規(guī)定必須需要命名的索引來(lái)查找前面表中值。

如果索引名 index-name 不存在或不能用于查詢,然后 SQLite 語(yǔ)句的準(zhǔn)備失敗。

"NOT INDEXED" 子句規(guī)定當(dāng)訪問(wèn)前面的表(包括由 UNIQUE 和 PRIMARY KEY 約束創(chuàng)建的隱式索引)時(shí),沒(méi)有使用索引。

然而,即使指定了 "NOT INDEXED",INTEGER PRIMARY KEY 仍然可以被用于查找條目。

語(yǔ)法

下面是 INDEXED BY 子句的語(yǔ)法,它可以與 DELETE、UPDATE 或 SELECT 語(yǔ)句一起使用:

SELECT|DELETE|UPDATE column1, column2...
INDEXED BY (index_name)
table_name
WHERE (CONDITION);

實(shí)例

假設(shè)有表 COMPANY,我們將創(chuàng)建一個(gè)索引,并用它進(jìn)行 INDEXED BY 操作。

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

現(xiàn)在使用 INDEXED BY 子句從表 COMPANY 中選擇數(shù)據(jù),如下所示:

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


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)