mysql的索引index和视图view相关操作

目录

 

索引:

1、普通索引

2、唯一索引

3、主键索引

4、多列索引

视图:

查看所有视图

删除视图


索引:

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;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值