SQL CREATE INDEX

在 SQL 中,列上的 INDEX 约束可以加快查询该列时检索数据的速度。

示例

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

-- create index
CREATE INDEX college_index
ON Colleges(college_code);

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


SQL CREATE INDEX 语法

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 UNIQUE INDEX 约束。例如,

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

-- create unique index
CREATE UNIQUE INDEX college_index
ON Colleges(college_code);

这里,SQL 命令使用 college_code 列在 Colleges 表上创建了一个名为 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 中删除索引意味着只删除索引。原始表中的数据保持不变。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战