前提:
创建库:
创建表:
create table `t_user`(
`id` bigint(20) not null comment '玩家ID',
`age` int(3) not null comment '年龄',
`name` varchar(64) not null comment '姓名',PRIMARY KEY(`id`)
);
1.创建索引(create 和 alter)
(1)create index id on t_user(id);
显示索引:show index from t_user;
(2)alter table t_user add index(age);
Non_unique:不含重复为0,否则为1,0的话是唯一索引
Key_name:索引名称,如果名字相同则表明是同一个索引,而并不是重复,比如上图中的第二、三条数据,索引名称都是index_fID_lastTime,其实是一个联合索引。
Seq_in_index: 索引中的列序列号,从1开始。上图中的二、三条数据,Seq_in_index一个是1一个是2,就是表明在联合索引中的顺序,我们就能推断出联合索引中索引的前后顺序
Column_name:索引列名
Collation: A:升序 NULL(无分类)
Cardinality(基数):唯一值的数目的预估值
Sub_part:前置索引,如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
Packed:关键字如何被压缩,没有被压缩,则为NULL
Null:如果列含有NULL,则含有YES
Index_type:索引类型,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE
Comment:注释
Index_comment:索引注释
唯一索引
它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
create unique index idx_name on t_user(name);