Mysql(三)-视图

看了点关于MySQL的面经,发现自己基础薄弱,回来补一下基础,顺便学习一下索引优化和数据库并发

复习来源尚硅谷

一、视图介绍

一种虚拟存在的表,使用视图时动态生成,其中只保留的SQL逻辑,并没有保存查询结果

应用场景

  1. 多个地方需要同样的查询结果
  2. 该查询结果的SQL语句比较复杂
# view_stu保存了 (select id,name from student) 这条语句
create view stu_view as (select id,name from student) ; 

select * from stu_view where name like '张%';

select id,name from stu_view where name like '张%';

二、视图的优点

  1. 重用SQL语句
  2. 简化复杂的SQL,不必知道查询细节
  3. 保证了数据的安全性(一个表可能包含个人隐私,但是其他公司需要用到这张表的某些数据,就需要对这张表所需字段建立视图)

三、视图的使用

1、创建视图

# view_stu保存了 (select id,name from student) 这条语句
create view stu_view as (select id,name from student) ; 

select * from stu_view where name like '张%';

select id,name from stu_view where name like '张%';

2、修改视图

方式一

# 如果存在stu_view 则修改为另一语句,如果不存在则创建
create or replace view 视图名
as
查询语句

方式二

alter view 视图名
as
查询语句

3、删除视图

drop 视图1,视图2,视图3...

四、视图的数据操作

一般视图都作为查询使用,会开权限来设置视图没有增删改

视图数据的修改是会让他SQL语句中关联的字段进行更新。但很多情况,视图的修改是无效的,比如from了一个分组的表等。

五、表和视图对比

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值