文章目录
1. 题目
- 题目来源:SQL37 对first_name创建唯一索引uniq_idx_firstname
- 题目描述
针对如下表actor结构创建索引:
(注:在 SQLite 中,除了重命名表和在已有的表中添加列,ALTER TABLE 命令不支持其他操作,
mysql支持ALTER TABLE创建索引) - 表格
CREATE TABLE actor (
actor_id smallint(5) NOT NULL PRIMARY KEY,
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL,
last_update datetime NOT NULL);
- 所需结果
对first_name创建唯一索引uniq_idx_firstname,对last_name创建普通索引idx_lastname
2. 题解
没什么好说的,记语法就完事。
有两种创建索引的方法:
① CAREATE
② ALTER
# 方法一:CREATE
CREATE UNIQUE INDEX uniq_idx_firstname ON actor(first_name);
CREATE INDEX idx_lastname ON actor(last_name);
# 方法二:ALTER
ALTER TABLE actor ADD UNIQUE INDEX uniq_idx_firstname(first_name);
ALTER TABLE actor ADD INDEX idx_lastname(last_name);
3. 反思:创建索引
注意:CREATE INDEX 不能用于创建PRIMARY KEY(主键)