索引:
一、索引的介绍
1、什么是索引(索引是一种数据结构)
一个索引在存储的表中的数据结构;
索引是在表的字段上创建
索引包含了一列的值,这个值保存在一个数据结构种
2、索引作用?
(1)保证数据记录的唯一性
(2)实现表与表之间的参照性
(3)减少排序和分组的时间
例如:在使用order by 看,group by 查询语句进行检索时
(4)可以通过索引快速访问数据库中特定信息
3、索引的缺点?
(1)索引要占物理内存
(2)索引对表进行增删改查,索引要动态维护,降低数据为维护速度
4、索引分类?
(1)普通索引
index 简称 mul 最基本的索引,没有任何限制
(2)主键索引
primary key 简称pri 是一种唯一索引,不能为空 ,一个表中只用一个
(3)唯一索引
uniqe 简称 uni 是一种唯一索引,可为空,一个表中可以由多戈尔维唯一索引
(4) 全文索引
(5)组合索引
(6)单列索引
(7)聚焦索引
(8)非聚焦索引
==========================
二、索引的运用
1、索引的查询方法
(1)方法有两种:
格式:show index from 表名
案例:show index from emp ;
(2)
格式:show key from 表名
案例:show keys from emp;
(3)查看表结构:
desc 表名
===============================
三、创建索引
1、普通索引
(1)创建普通索引(字段名和索引名不一致)
格式:ALTER table 表名 add index 索引名(字段名);
案例:ALTER table emp add index sy(name);
(2)创建普通索引(字段名和索引名一致)
格式:ALTER table emp add index (age);
案例:ALTER table 表名 add index (字段名);
2、创建唯一索引
单词:unique
简写:uni
特点:唯一、为空,一个表可以有多个
(1)字段名和索引名不一致的情况
格式:alter table 表名 add unique 外键名(字段名) ;
案例:alter table emp add unique nm(name) ;
(2)字段名和索引名一致的情况
格式:alter table 表名 add unique (字段名) ;
案例:alter table emp add unique (sid) ;
3、添加主键索引
语句:primary key
简写:pri
格式:alter table 表名 ADD primary key (字段名);
案例:alter table emp ADD primary key (sid);
================================
删除索引
(1) 删除普通索引和删除唯一索引的方法一致:
格式:
ALTER table 表名 drop INDEX 索引名 ;
案例:
ALTER table emp drop INDEX dept2 ;
(2)删除主键
格式:
ALTER table 表名 drop PRIMARY key ;
案例:
ALTER table emp drop PRIMARY key ;
二、建表时创建的约束添加
案例:
格式:create table 表名(字段名 字符类型(字符长度) PRIMARY key , 字段名2 字符类型(字符长度) unique )
create table sy1(id int(10) PRIMARY key , name char(20) unique,sex char(10) )
===========================
面试题:
1、你知道索引?什么时索引?
2、索引作用?
3、索引有哪些?
4、如何创建索引?
5、如何删除索引?
6、主键索引和唯一索引的区别?