1、创建索引
CREATE [ UNIQUE | FULLTEXT ] INDEX index_name ON table_name ( index_col_name,... ) ;
2、查看索引
SHOW INDEX FROM table_name ;
3、删除索引
DROP INDEX index_name ON table_name ;
4、案例演示
先来创建一张表 tb_user。
create table tb_user(
id int primary key auto_increment comment '主键',
name varchar(50) not null comment '用户名',
phone varchar(11) not null comment '手机号',
email varchar(100) comment '邮箱',
profession varchar(11) comment '专业',
age tinyint unsigned comment '年龄',
gender char(1) comment '性别 , 1: 男, 2: 女',
status char(1) comment '状态',
createtime datetime comment '创建时间'
) comment '系统用户表';
数据准备好了之后,接下来,我们就来完成如下需求:
A. name字段为姓名字段,该字段的值可能会重复,为该字段创建索引。
create index user_name on tb_user(name);
B. phone手机号字段的值,是非空,且唯一的,为该字段创建唯一索引。
create unique index user_phone on tb_user(phone);
C. 为profession、age、status创建联合索引。
create index user_profession_age_status on tb_user(profession,age,status);
D. 为email建立合适的索引来提升查询效率。
CREATE INDEX idx_email ON tb_user(email);
完成上述的需求之后,我们再查看tb_user表的所有的索引数据。
show INDEX FROM tb_user;