⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
CREATE INDEX 语句

CREATE INDEX

CREATE INDEX 语句在指定表的指定列上构造索引。

示例

在表 films 的 id 列上创建唯一索引 films_id_idx

CREATE UNIQUE INDEX films_id_idx ON films (id);

在表 filmsrevenue 列上创建允许重复值的索引 s_idx

CREATE INDEX s_idx ON films (revenue);

如果索引尚不存在,则创建索引

CREATE INDEX IF NOT EXISTS s_idx ON films (revenue);

CREATE INDEX IF NOT EXISTS 语句目前没有“提前退出”机制,而是会尝试创建索引,并仅在提交到存储之前检查其是否存在。因此,与那些会提前终止的其他 IF NOT EXISTS 语句相比,它可能运行更长时间。

genreyear 列上创建复合索引 gy_idx

CREATE INDEX gy_idx ON films (genre, year);

在表 integers 的列 jk 之和的表达式上创建索引 i_index

CREATE INDEX i_index ON integers ((j + k));

参数

名称 描述
UNIQUE 使系统在创建索引时(如果数据已存在)和每次添加数据时检查表中的重复值。尝试插入或更新导致重复条目的数据将生成错误。
名称 要创建的索引的名称。
要索引的表的名称。
要索引的列的名称。
表达式 基于表的一列或多列的表达式。表达式通常必须用括号括起来,如语法所示。但是,如果表达式是函数调用的形式,则可以省略括号。
索引类型 指定的索引类型,请参阅 索引。可选。
选项 索引选项,形式为布尔真值(例如,is_cool)或键值对(例如,my_option = 2)。可选。

语法

DROP INDEX

DROP INDEX 从数据库系统中删除现有索引。

示例

删除索引 title_idx

DROP INDEX title_idx;

参数

名称 描述
IF EXISTS 如果索引不存在,则不抛出错误。
名称 要删除的索引的名称。

语法

限制

CREATE INDEX 子句不支持 OR REPLACE 修饰符。