题目描述
针对如下表 actor 创建索引,对 first_name 字段创建唯一索引 uniq_idx_firstname,对 last_name 字段创建普通索引 idx_lastname,建表语句如下:
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
);
答案解析
本题考察的是 MySQL 中给字段添加索引的方式:
添加主键索引
ALTER TABLE tbl_name ADD PRIMARY KEY(col_list);
添加唯一索引
ALTER TABLE tbl_name ADD UNIQUE index_name(col_list);
添加普通索引
ALTER TABLE tbl_name ADD INDEX index_name(col_list);
添加全文索引
ALTER TABLE tbl_name ADD FULLTEXT index_name(col_list);
除了添加索引,我们还可以删除索引;删除索引的语法如下:
DROP INDEX index_name ON tbl_name;
-- OR
ALTER TABLE tbl_name DROP INDEX index_name;
ALTER TABLE tbl_name DROP PRIMARY KEY;
本题 SQL 语句如下:
-- 添加唯一索引
ALTER TABLE `actor` ADD UNIQUE uniq_idx_firstname(first_name);
-- 添加普通索引
ALTER TABLE `actor` ADD INDEX idx_lastname(last_name);