【0基础学习mysql】之索引

本文详细介绍了MySQL中的索引类型,包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引,并给出了创建和删除索引的语法示例,帮助读者理解和提升数据库查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 个人主页:天寒雨落的博客_优快云博客-C,优快云竞赛,python领域博主

​ 特别标注:仅为自己的学习记录笔记,方便复习和加深记忆,仅供借鉴参考!

目录

索引概述

索引分类

1.普通索引

2.唯一性索引

3.全文索引

4.单列索引

5.多列索引

6.空间索引

索引的创建

1.在建立数据表时创建索引

格式

2.添加索引

1.普通索引

2.唯一索引

3.全文索引

4.单列索引

5.多列索引

3.删除索引


索引概述

索引由数据表中一列或多列组合而成,创建索引的目的就是为了优化数据库的查询速度,通过索引查询数据时,不需要遍历所有数据库中的所有数据,大幅度提高了查询效率。

索引分类

1.普通索引

不应用任何限制条件的索引,该索引可以在任何数据类型中创建。字段本身的约束条件可以判断其值是否为空或唯一。创建该类型索引后,用户在查询时,便可以通过索引进行查询。

2.唯一性索引

使用unique参数可以设置唯一索引,索引的值必须是唯一的,通过唯一索引,用户可以快速定位某条记录,主键就是一种特殊的唯一索引。

3.全文索引

使用fulltext参数可以设置全文索引。全文索引只能创建在char、varchar、或者text类型的字段上,查询数据量较大的字符串类型字段的时候使用全文查询可以提高查询速度。

4.单列索引

只对应一个字段的索引,其可以包括上述的三种索引。

5.多列索引

对应多个字段的索引,用户可以通过这几个字段进行查询,应用该索引,用户必须使用这些字段的第一个字段。

6.空间索引

使用spatlal参数可以设置空间索引,其只能建立在空间数据类型,可以提高系统获取空间数据的效率。

索引的创建

1.在建立数据表时创建索引

格式

create table 表名(字段名 数据类型[约束条件]...{字段名 数据类型[unique/fulltext/spatial] index/key [别名](字段名1[(长度)][ASC|DESC]);

index和key参数用于指定字段索引,二者选一个即可,别名可加可不加,(字段名1[(长度)][ASC|DESC])都是别名的参数,长度指的是索引的长度,asc表示升序排列,desc表示降序排列

举例

create table Student(id int,name varchar(4),score int,index(id));
show create table Student;

执行结果

2.添加索引

1.普通索引

格式

alter table 表名 add index 索引名(字段名称);/create index 索引名 on 表名(字段名1);

举例

代码

create table Student(id int,name varchar(4),score int);
alter table Student add index idx(name); 
show create table Student;

执行结果

2.唯一索引

格式

alter table 表名 add unique index 索引名称(字段名称);/create unique index 索引名 on 表名(字段名);

3.全文索引

格式

alter table 表名 add fulltext index 索引名称(字段名称);/create fulltext index 索引名 on 表名(字段名);

4.单列索引

格式

alter table 表名 add index 索引名称(字段名词(长度));/create index 索引名 on 表名(字段名(长度));

5.多列索引

alter table 表名 add index 索引名称(字段1,字段2...);/create index 索引名 on 表名(字段名1,字段名2...);

3.删除索引

格式

drop index 索引名 on 表名;

举例

代码

create table Student(id int,name varchar(4),score int);
alter table Student add index idx(name); 
drop index idx on Student;
show create table Student;

执行结果

 

各位学习mysql的朋友可以联系我,互相讨论,一起进步!!!

👍+✏️+⭐️是对博主最大的鼓励与支持!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天寒雨落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值