MySQL索引
2024-04-13 本文已影响0人
李小二的倔强
一、索引_概念和作用
1).概念:它就类似于图书的"目录",使数据库软件通过"索引"可以非常快的查找到所需的数据。
2).作用:加快查询速度
二、索引_分类及创建和删除
A).查看索引:show index from 表名;
B).索引分类、创建、删除:
1).主键索引:必须唯一、非空:当创建"主键约束"时,数据库会自动创建一个"主键索引"
1).创建方式一:创建表-创建主键
create table student(
id int primary key auto_increment,
name varchar(200)
)
2).创建方式二:修改表-添加主键(同时会自动添加主键索引)
alter table 表名 add primary key (列名);
3).删除主键:(同时删除主键索引)
alter table 表名 drop primary key;
2).唯一索引:必须唯一,允许有NULL
1).创建方式一:创建表-设置"唯一约束"
create table student(
id int primary key auto_increment,
name varchar(100) unique #此列会自动创建一个"唯一索引",索引名就是字段名。
)
2).创建方式二:修改表-添加唯一约束
alter table 表名 add unique (列名);//添加唯一约束,同时添加唯一索引
3).创建方式三:添加索引
create unique index [索引名] ON 表名 (字段名);//添加唯一索引,同时添加唯一约束
4).删除唯一索引:
alter table 表名 DROP INDEX 索引名/字段名;
3).普通索引:
1).创建方式一:
create index 索引名 on 表名 (列名)
例如:
create index pname_index on product(pname);
2).删除普通索引:
alter table 表名 drop index 索引名;
例如:
alter table product drop index pname_index;
4).全文索引:只有在MyISAM引擎支持
C).索引的其它说明:
1).对于经常出现在where和order by 以及group by 中的字段可以建立索引。
2).对于有索引的表,会影响添加、删除数据的效率。