目录
索引:
1、普通索引
就是一个普通的索引,可以为空,可以重复
输入ALTER TABLE teacher ADD INDEX(name);
即在teacher数据表中的name字段创建了一个普通索引
2、唯一索引
可以为空,不可以重复
输入ALTER TABLE teacher ADD UNIQUE(name);
或者输入ALTER TABLE teacher ADD name type UNIQUE;
3、主键索引
不可以为空,不可以重复
输入ALTER TABLE teacher ADD PRIMARY KEY(字段名);
因为本人在创建数据表时,就已经设置了主键,所以这里不能重复创建。只要是主键,就是索引!!
4、多列索引
ALTER TABLE teacher ADD INDEX(column1,column2,column3);
注意:
1、少量数据不使用索引
2、查询次数少不使用索引
3、查询要携带索引字段,通常放在select之后第一个
4、索引提高了查询的效率,但是与此同时,占有了更多的资源
视图:
视图模式是对一个查询的结果进行记录,视图里面只存放语句,不存放结果,类似于虚表
(1)需求:查询所有姓孙的老师
我们之前学过查询,所以可以直接写出代码为select * from teacher where name like "孙%";
然后我们将该查询形成为视图
CREATE VIEW teacher_sun AS (select * from teacher where name like "孙%");
这个视图也可以用mysql可视化软件Navicat Premium看到
使用视图:
select * from teacher_sun where gender = "女";
这样就是直接在视图里查询,而不是又要在整个表中查询
(2)交友网站限制用户联系方式
在这里,还是有teacher表来作为例子
1、创建视图,查询所有用户的个人信息(残缺版)
例如,我们只查询名字和性别
create view teacher_wedding as (select name,gender from teacher);
2、从残缺版里查询所有女生
select * from teacher_wedding where gender ="女";
查看所有视图
输入show table status where comment="view" \G;
删除视图
drop view teacher_sun;