1.索引的分类
①普通索引和唯一索引
普通索引:是mysql中基本的索引类型,允许在定义索引的列中插入重复值和空值。
唯一索引:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。主键索引是一种特殊的唯一索引,不能为空值。
②单列索引和组合索引
单列索引即一个索引只包含单个列,一个表可以有多个单列索引。
组合索引指在表的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边的字段时,索引才会被使用。使用组合索引时遵循最左前缀集合。
③全文索引
全文索引类型为fulltext,在定义索引的列上支持值的全文查找,允许在这些索引中插入重复值和空值。全文索引可以在char、varchar、或者text类型的列上进行创建。MySQL中只有MyISAM存储引擎支持全文索引。
2.索引创建的原则
3.索引的创建
①在创建表的时候创建索引
create table 表名 (字段1 字段1数据类型 约束条件,字段2 字段2数据类型 约束条件.......index (索引名));
可以使用show create table 表名;来查看表结构
②在已经创建的表上创建索引
alter table 表名 add (unique唯一)index 索引名(字段名);
creat index 索引名 on 表名(字段名)
创建唯一索引
create unique index 索引名 on 表名 (字段名);
创建全文索引
create fulltext index 索引名 on 表名 (字段名);
4.删除索引
alter table 表名 drop index 索引名;
drop index 索引名 on 表名;