视图的作用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 视图的作用。

视图创建完成以后可以像操作基本表一样去操作视图,例如通过如下语句即可完成从院系学生名单视图v_yxxsmd中筛选出“信息技术学院”的院系名称和学生姓名的任务。

mysql> SELECT dept_name,s_name
-> FROM v_yxxsmd
-> WHERE dept_name='信息技术学院';
与直接操纵数据表相比,视图具有以下优点和作用。

1)使用视图可以合理地组织数据,简化用户操作。如有了视图v_yxxsmd,本任务中的查询代码就非常变得简单。
2)使用视图有利于提高数据的独立性。在应用系统开发中,前端应用通过视图而不是通过基础表访问数据,这样当修改基础表结构时,前端应用就不会受到影响。当升级以前建立的应用系统时,也可以通过建立视图来模仿以前存在但已被更改的表。
3)使用视图可以提高数据的安全性。视图可以用作安全机制,通过视图只允许用户查看或修改其所能看到的数据,而不是允许其访问基础表的所有数据,有利于提高数据的安全性。
当某个视图不再被需要时,就需要将其从数据库中删除。在删除时,可以选择使用Navicat等图形工具或直接使用SQL语句。

1)图形工具只需要在对象浏览器窗口中选中相应视图,然后右击选择“删除视图”即可。
2)SQL语句使用DROP VIEW语句删除视图,其语法格式如下。
DROP VIEW [IF EXISTS] 视图名
其中,IF EXISTS为可选参数,用于判断视图是否存在,如果存在则执行,不存在则不执行。例如使用 DROP VIEW IF EXISTS v_yxxsmd语句即可完成视图 v_yxxsmd的删除工作。
视图建立后,可以像表一样使用,可以使用视图查询、更新、删除或插入数据,但如果视图创建的过程中带有检查选项子句WITH CASCADED CHECK OPTION或WITH LOCAL CHECK OPTION,则在更新视图时会受到相应的限制。
如果带有检查选项子句WITH CASCADED CHECK OPTION,则更新视图时MySQL会循环检查视图的规则以及底层表或视图的规则是否满足,如果有一个条件不满足,更新视图都会报错
从MySQL5.7.6开始如果带有检查选项子句WITH LOCAL CHECK OPTION,则更新视图时MySQL会检查带有检查选项WITH LOCAL CHECK OPTION和WITH CASCADED CHECK OPTION的视图规则,如果有相应的条件不满足,则更新视图也会报错。
视图建立后,可以像表一样使用,可以使用视图查询、更新、删除或插入数据,但如果视图创建的过程中带有检查选项子句WITH CASCADED CHECK OPTION或WITH LOCAL CHECK OPTION,则在更新视图时会受到相应的限制,具体说明如下:
1)如果带有检查选项子句WITH CASCADED CHECK OPTION,则更新视图时MySQL会循环检查视图的规则以及底层表或视图的规则是否满足,如果有一个条件不满足,更新视图都会报错。
2)从MySQL5.7.6开始如果带有检查选项子句WITH LOCAL CHECK OPTION,则更新视图时MySQL会检查带有检查选项WITH LOCAL CHECK OPTION和WITH CASCADED CHECK OPTION的视图规则,如果有相应的条件不满足,则更新视图也会报错。
3)检查选项子句WITH CASCADED CHECK OPTION及WITH LOCAL CHECK OPTION为创建视图的可选项,在实际应用的过程中可以根据实际情况灵活选用。
4)如果直接使用WITH CHECK OPTION作用等同于WITH CASCADED CHECK OPTION,正如前面所说 CASCADED为检查选项的默认值。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
安全 关系型数据库 MySQL
MySQL数据库——视图的更新、视图作用以及案例
MySQL数据库——视图的更新、视图作用以及案例
320 0
|
7月前
|
SQL 存储 安全
|
SQL 存储 关系型数据库
第14章_视图
第14章_视图
93 0
|
7月前
|
安全 容器
switfUI 组合视图
switfUI 组合视图
84 1
|
编解码 Android开发
视图 总结 基础
DragViewTaskRelease 使用FrameLayout布局(可以用其他的),内嵌imageView实现悬浮拖动和点击事件,继承View的ontouchEvent进行动作监听和移动 getX(),getY()等方法的区别(图解) BarPercentView 条形进度条(可设置 线性渐变-背景色-进度条颜色-进度条高度) 游戏下载进度条显示 zidingyiView矩形进度框,在构造函数里定义基础属性,初始化布局,定义俩个矩形,onMeasure获取宽高和onDraw方法显示
|
开发者 Python
对CBV视图的探究(1)数据显示视图
对CBV视图的探究(1)数据显示视图
82 0
|
存储
视图
视图
126 0
|
关系型数据库 测试技术 流计算