mysql之索引
一、什么是索引 ?
索引是一种数据结构
一个索引是存储的表中数据结构;
索引是咋表的字段上创建的
索引包含了一列值,这个值保存在一个数据结构中
二、索引的作用?
1、保证数据记录的唯一性
2、实现表与表之间的参照性
3、减少排序和分组的时间(order by 或group by 查询语句进行检索)
4、可以引用索引快速访问数据库中特定信息
三、索引的缺点?
1、索引要占物理内存
2、索引对表进行增删改查,索引页要动态维护,降低数据的维护速度
四、索引的分类?
1、普通索引 index 简称:mul
2、主键索引 primary key 简称:pri
3、唯一索引 unique 简称 uni
4、全文 索引
5、组合索引
6、单列索引
7、聚焦索引
8、非聚焦索引
=============================================
索引的使用
1、索引查询方法
方法一:
格式:how index from 表名 ;
案例:how index from emp ;
方法二:
格式:show keys from 表名 ;
案例:show keys from emp ;
方法三:
desc 表名
2、创建索引
(1)创建普通索引
定义:最基本的索引,没有任何限制
格式1:索引名和列名不同
alter table emp add index aa(job) ;
格式2:索引名和列名相同
alter table emp add index (sal) ;
(2)创建主键索引
primary key 简称pri 保证 唯一,不能为空, 一个表中只用一个
案例:
格式:alter table 表名 add primary key(字段)
alter table student add primary key(stu_no)
(3)创建唯一索引
unique 简称:unl 保证唯一,可以为空, 一个表中有多个
a、索引名和字段名不同
格式:alter table 表名 add unique 索引名(字段名)
案例:alter table student add unique n(stu_name)
b、索引名和字段名相同
格式:alter table 表名 add unique (字段名)
alter table student add unique (age)
(4)删除索引
a、普通索引和唯一删除方式一样:
格式:ALTER table 表名 drop index 索引名;
ALTER table student drop index n ;
b、主键索引的删除方法
格式:ALTER table 表名 drop PRIMARY key ;
ALTER table student drop PRIMARY key ;
================
创建索引的方法:
格式:
create index 索引名 on 表名 (字段名)
create index aa on student(age)
================
建表时创建约束
create table ss(id int(10) PRIMARY key , name char(20) UNique)
=================================================
1、你知道索引吗?
2、什么是索引?
3、索引的作用?
4、如何创建索引?
5、如何删除索引?
6、主键索引和唯一索引的区别?