mysql数据库中索引的类型和语法
1、什么是索引
存储引擎以一种数据结构进行存储的数据。
这种数据结构的数据让我们查询数据时非常的高效
2、非常重要的索引类型
1)主键索引(primary key)
添加我们的主键:
alter table table_name add primary key (id)
删除主键:
alter table table_name drop primary key;
删除的时候,有自动增长的值,是不能进行删除的,先删除自动增长:
alter table innodb modify `id` int(11) unsigned NOT NULL;
2)唯一索引(unique key)
添加唯一索引:
alter table table_name add unique key 取个索引名(字段值)
删除唯一索引:
alter table table_name drop key 索引名称
重点介绍:
唯一索引可以在一张表里面有多个;值是不能重复的。
主键索引在工作中必需使用的;主键索引在一张表里面只有一个;值是不能重复的。
3)普通索引(key)
添加普通索引:
alter table table_name add key 取个索引名(字段)
删除普通索引:
alter table table_name drop key 取的索引名
特性:太普通了,可以有多个,可以重复值!
4)复合索引
添加复合索引:
alter table table_name add key 取个索引名(字段,字段)
删除它:
alter table table_name drop key 索引名
复合索引:就是上面的三个索引在设定字段值的时候,设定多个!
复合索引一般情况下,多是使用在普通索引上面的。
总结
添加索引的时候:
主键索引:表里面唯一的,值不能重复
alter table table_name add primary key (id)
唯一索引:表里面可以有多个,值不能重复
alter table table_name add unique key 索引名(字段)
普通索引:表里面可以有多个,值可以重复
alter table table_name add key 索引名(字段)
普通复合索引:
alter table table_name add key 索引名(字段,字段,……)
删除索引的时候:
主键索引:
alter table table_name drop primary key
唯一索引|普通索引|普通复合索引
alter table table_name drop key 索引名
复合索引 === 联合索引 这二个名称是一个意思!