CREATE INDEX
CREATE INDEX 语句在指定表的指定列上构建索引。支持在多个列/表达式上的复合索引。
支持一维索引,而多维索引尚不支持。
Examples
在表 films 的列 id 上创建一个唯一索引 films_id_idx:
CREATE UNIQUE INDEX films_id_idx ON films (id);
创建索引 s_idx,允许在表 films 的列 revenue 上存在重复值:
CREATE INDEX s_idx ON films (revenue);
在genre和year列上创建复合索引gy_idx:
CREATE INDEX gy_idx ON films (genre, year);
在表 integers 的列 j 和 k 的和的表达式上创建索引 i_index:
CREATE INDEX i_index ON integers ((j + k));
Parameters
| Name | Description |
|---|---|
UNIQUE |
使系统在创建索引时(如果数据已存在)以及每次添加数据时检查表中的重复值。尝试插入或更新会导致重复条目的数据将生成错误。 |
name |
要创建的索引的名称。 |
table |
要索引的表的名称。 |
column |
要索引的列的名称。 |
expression |
基于表中的一个或多个列的表达式。通常,表达式必须用括号括起来,如语法所示。但是,如果表达式具有函数调用的形式,则可以省略括号。 |
index type |
指定的索引类型,请参阅 Indexes。可选。 |
option |
索引选项,形式为布尔真值(例如,is_cool)或键值对(例如,my_option = 2)。可选。 |
Syntax
DROP INDEX
DROP INDEX 从数据库系统中删除一个现有的索引。
Examples
移除索引 title_idx:
DROP INDEX title_idx;
Parameters
| Name | Description |
|---|---|
IF EXISTS |
如果索引不存在,不要抛出错误。 |
name |
要删除的索引的名称。 |