Mysql-视图

Posted 滑稽404#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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了一个分组的表等。

五、表和视图对比

在这里插入图片描述

以上是关于Mysql-视图的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

回收站视图未显示在片段中

如何从片段内的列表视图打开链接网址?

如何使列表视图出现在片段中?

如何从活动中更改片段中视图的可见性

片段中的网格视图