题目描述

针对如下表 actor 创建索引,对 first_name 字段创建唯一索引 uniq_idx_firstname,对 last_name 字段创建普通索引 idx_lastname,建表语句如下:

  1. CREATE TABLE actor (
  2. actor_id smallint(5) NOT NULL PRIMARY KEY,
  3. first_name varchar(45) NOT NULL,
  4. last_name varchar(45) NOT NULL,
  5. last_update datetime NOT NULL
  6. );

答案解析

本题考察的是 MySQL 中给字段添加索引的方式:

  1. 添加主键索引

    1. ALTER TABLE tbl_name ADD PRIMARY KEY(col_list);
  2. 添加唯一索引

    1. ALTER TABLE tbl_name ADD UNIQUE index_name(col_list);
  3. 添加普通索引

    1. ALTER TABLE tbl_name ADD INDEX index_name(col_list);
  4. 添加全文索引

    1. ALTER TABLE tbl_name ADD FULLTEXT index_name(col_list);

    除了添加索引,我们还可以删除索引;删除索引的语法如下:

    1. DROP INDEX index_name ON tbl_name;
    2. -- OR
    3. ALTER TABLE tbl_name DROP INDEX index_name;
    4. ALTER TABLE tbl_name DROP PRIMARY KEY;

    本题 SQL 语句如下:

    1. -- 添加唯一索引
    2. ALTER TABLE `actor` ADD UNIQUE uniq_idx_firstname(first_name);
    3. -- 添加普通索引
    4. ALTER TABLE `actor` ADD INDEX idx_lastname(last_name);