mysql · 2020-01-04 0

MySQL索引

一、索引分类

  1. 单值索引:即一个索引只包含单个列,一个表可以有多个单列索引
  2. 唯一索引:索引列的值必须唯一,但允许有空值
  3. 复合索引:即一个索引包含多个列

二、创建索引

InnoDB存储引擎会自动为主键约束、唯一约束、外键约束创建索引

create [unique] index index_name on table_name(column_name(length));
alter table_name add [unique] index [index_name] on (column_name(length));

三、删除索引

drop index [index_name] on table_name;

四、alter创建索引

-- 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。
alter table table_name add primary key(column_list);
-- 这条语句创建索引的值必须是唯一的(除了null外,null可能会出现多次)。
alter table table_name add unique index_name(column_list);
-- 添加普通索引,索引值可出现多次。
alter table table_name add index index_name(column_list);
-- 该语句指定了索引了FULLTEXT,用于全文索引。
alter table table_name add fulltext index_name(column_list);

五、查看索引

show index from table_name;