跳到主要内容

SQL CREATE INDEX

在 SQL 中,列的 INDEX 约束使得在查询该列时检索数据更快。

示例

CREATE TABLE Colleges (
college_id INT PRIMARY KEY,
college_code VARCHAR(20) NOT NULL,
college_name VARCHAR(50)
);

-- 创建索引
CREATE INDEX college_index
ON Colleges(college_code);

这里,SQL 命令在 Colleges 表上使用 college_code 列创建了一个名为 college_index 的索引。

SQL 创建索引语法

SQL CREATE INDEX 语句的语法是:

CREATE INDEX index_name
ON table_name (column_name1, column_name2, ...);

这里,

  • index_name 是索引的名称
  • table_name 是要创建索引的表的名称
  • column_name1, column_name2, ... 是要包含在索引中的列的名称

为唯一值创建唯一索引

如果您想为列中的唯一值创建索引,我们使用 CREATE UNIQUE INDEX 约束。例如,

CREATE TABLE Colleges (
college_id INT PRIMARY KEY,
college_code VARCHAR(20) NOT NULL,
college_name VARCHAR(50)
);

-- 创建唯一索引
CREATE UNIQUE INDEX college_index
ON Colleges(college_code);

这里,SQL 命令在 Colleges 表上使用 college_code 列创建了一个名为 college_index 的唯一索引。

注意: 尽管索引仅为唯一值创建,但表中的原始数据保持不变。

从表中移除索引

要从表中移除 INDEX,我们可以使用 DROP INDEX 命令。例如,

SQL Server

DROP INDEX Colleges.college_index;

PostgreSQL, Oracle

DROP INDEX college_index;

MySQL

ALTER TABLE Colleges
DROP INDEX college_index;

这里,SQL 命令从 Colleges 表中移除了名为 college_index 的索引。

注意: 在 SQL 中删除索引意味着只有索引被删除。原始表中的数据保持不变。

推荐阅读: SQL 约束