当前位置: 首页 > news >正文

南昌互联网网站开发百度热门关键词

南昌互联网网站开发,百度热门关键词,惠州市人民政府门户网站,网站建设需要什么材料🚗MySQL学习第十站~ 🚩本文已收录至专栏:MySQL通关路 ❤️文末附全文思维导图,感谢各位点赞收藏支持~ 一.引入 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据…

🚗MySQL学习·第十站~
🚩本文已收录至专栏:MySQL通关路
❤️文末附全文思维导图,感谢各位点赞收藏支持~

一.引入

视图(View)是一种虚拟存在的视图中的数据并不在数据库中实际存在行和列数据来自创建视图的查询中使用的表(基表),并且是在使用视图时动态生成的。 也就是说,视图其本身只是一段查询的SQL逻辑

在这里插入图片描述

视图也是一张数据库表,当我们创建以后,也可以像操作正常数据库一样操作它。其用途:

  • 可以简化用户对数据的理解和操作。那些被经常使用的复杂多表查询可以被定义为视图,从而避免以后的操作每次都需指定全部的条件。
  • 数据库可以授权,但不能授权到数据库特定行和特定的列上。配合视图使用可以限制用户只能查询和修改他们所能见到的数据
  • 视图可帮助用户屏蔽真实表结构变化带来的影响。

二.相关操作

(1) 创建视图

  • 语法
CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]

在这里插入图片描述

(2) 操作数据

视图也是一张表,我们可以像操作正常表一样操作视图。

  • 例如查询视图所有数据

在这里插入图片描述

(3) 修改视图

  • 语法
-- 方式一:
CREATE OR REPLACE VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
-- CREATE OR REPLACE 不存在则创建, 存在则替换-- 方式二:
ALTER VIEW  视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
  • 方式一

在这里插入图片描述

  • 方式二

在这里插入图片描述

(4) 删除视图

  • 语法
DROP VIEW [IF EXISTS] 视图名称 [,视图名称]
-- [,视图名称] 若同时删除多张视图,以逗号分割

在这里插入图片描述

(5) 查看创建视图语句

  • 语法
SHOW  CREATE  VIEW  视图名称
  • 除了我们所指定的参数,还有一堆默认配置
    在这里插入图片描述

三.检查选项

(1) 概述

由于视图是虚拟存在的表,我们对视图的操作都会反应到基表当中,假设我们对视图表插入不符合视图where条件的数据,那么这条数据只会存在于基表当中,而我们在视图表无法获悉,这岂不是插入了一条无效数据?

在这里插入图片描述

在我们创建或修改视图的语句中可以看到WITH CHECK OPTION选项,MySQL会通过视图检查正在更改的每个行,例如 插 入,更新,删除,对于满足条件(例如where条件)的操作,我们允许,否则禁止,以使其符合视图的定义。 由于MySQL允许基于另一个视图创建视图,因此它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项: CASCADEDLOCAL默认值CASCADED

(2) CASCADED级联

假设v2视图是基于v1视图的,如果在v2视图创建的时候指定了检查选项为 cascaded,v1视图 创建时未指定检查选项(如果指定了则继续检查上一级,以此往复)。 则在对v2进行操作执行检查时,不仅会检查v2,还会级联检查v2的关联视图v1,如果不满足条件则无法进行相关操作。

在这里插入图片描述

  • u2插入失败示例

在这里插入图片描述

  • u2插入成功

在这里插入图片描述

  • u1插入情况

在这里插入图片描述

(3) LOCAL本地

与上述类似,LOCAL也会递归的去寻找当前视图所依赖的视图。不同的是,如果当前视图或者依赖的视图后面定义了with check option检查选项才会校验我们操作的数据是否满足该视图的条件(where),否则不会校验。

在这里插入图片描述

  • 依赖视图未定义检查选项

在这里插入图片描述

  • 依赖视图定义了检查选项
    在这里插入图片描述

四.视图更新条件

要使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。如果视图包含以下任何一 项,则该视图不可更新:

  • 聚合函数或窗口函数(SUM()、 MIN()、 MAX()、 COUNT()等)
  • DISTINCT
  • GROUP BY
  • HAVING
  • UNION 或者 UNION ALL

例如我们创建视图时使用了聚合函数,破坏了一对一关系

create view stu_v_count as select count(*) from student;

如果我们对这个视图进行更新或插入的,将会报错。

insert into stu_v_count values(10);

在这里插入图片描述

五.全文概览

在这里插入图片描述

http://www.yidumall.com/news/28246.html

相关文章:

  • 一级域名做网站的好处陕西网络推广公司
  • 在制作网站前 不需要急于做的工作是百度竞价官网
  • 政府网站模板asp合肥网络推广公司
  • 网站主页图片设计建站之星网站
  • 购物网站的推广推广app赚佣金平台
  • 四川省建设人才网官网安卓手机优化软件排名
  • php网站后台开发教程市场调研方法有哪些
  • wordpress免费插件下载地址网站关键词排名手机优化软件
  • 个人可以做网站么推广软件app
  • asp.net做网站原理市场推广怎么做
  • 工业和信息化部网站备案系统百度推广开户代理
  • 医疗网站是否全部需要前置备案百度图像搜索
  • wordpress注册后发邮件免费下载优化大师
  • 网站建设需要学习哪些今日最新新闻重大事件
  • 天元建设集团有限公司基本情况seo优化排名教程百度技术
  • 天津网站建设q479185700惠优化网站内容
  • 三门网站建设站长工具最近查询
  • 多个域名URL转发到一个网站友情链接查询工具
  • 贵州小城镇建设网站广告投放平台系统
  • 中山专业网站制作手机系统流畅神器
  • 广告公司网站源码而的跟地seo排名点击软件
  • 可信网站多少钱个人在线做网站免费
  • 公司做网站怎么构思指数型基金是什么意思
  • 网站建设注册百度招聘官网
  • 网站首页效果图广州网站快速优化排名
  • 2023年8月上海疫情爆发宁波seo推广优化哪家强
  • 网站推广一般在哪个网做做网页的网站
  • wordpress主题 四亩田网络优化器下载
  • 深圳网站建设服务中心官网推广网站有效的方法
  • 上海做网站技术优化标题关键词技巧