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

任县建设局网站关键词排名点击

任县建设局网站,关键词排名点击,土巴兔官网,招聘网站建设保定目录 介绍 基本操作语法 创建视图 查看视图创建语句 查看视图数据 修改视图 删除视图 检查选项 with cascaded check option with local check option 更新及作用 更新的条件 更新的作用 简单 安全 数据独立 介绍 视图是一种虚拟的表,在数据库中并…

目录

介绍

基本操作语法

创建视图

查看视图创建语句

查看视图数据

修改视图

删除视图

检查选项

with cascaded check option

with local check option 

更新及作用

更新的条件

更新的作用

简单

安全

数据独立


介绍

视图是一种虚拟的表,在数据库中并不真实存在。更简单地说,就是视图并不储存数据,只是纪录了数据的逻辑。

基本操作语法

创建视图

create or replace view name_gen as select user_name,user_gender from users where user_id <=10;

查看视图创建语句

show create view name_gen;

查看视图数据

select *from name_gen;

修改视图

create or replace view name_gen as select user_name,user_gender,uesr_num from users where user_id <=10;
alter view name_gen as select id,name from user where id<=10;

可以添加新的字段,或删除字段。

删除视图

drop view if exist name_gen;

不难发现,视图是一种特殊的表,所以可以想使用表一样来操作视图。

检查选项

我们开始说过,视图当中是不存数据的,试图展示的只是数据间的逻辑关系。

那么大家思考一下,如果我想对表一样,针对视图进行插入操作,还会不会有数据的变化呢?

答案是会变化的,但是变化的本质不是视图,而是视图表示的那张真实存在的数据表,我们将其称为基表

简单来说,针对视图进行的插入操作,最后会直接作用于基表,此时不管进行表的查询还是视图的查询都会发现数据的修改

那么对使视图的插入操作会影响到数据表,就会带来一系列的问题,比如:

我创建了一个有十条数据的视图(字段为id和name),,假设基表有5条数据:

create or replace view id_name as select user_id,user_name from users where user_id <=10;

然后针对视图进行插入数据的操作:

insert into name_gen values(8,"小昭");

此时我们知道,基表已经多了一条数据,而我们再进行视图或者基表的查询时,能够看见数据的变化。

那么再次插入一条数据:

insert into name_gen values(12,"光头强");

我们先查看基表,数据变确实变化了。但是我们进行视图视图查询时,发现视图并没有变化!!!

我们回顾一下视图的创建语句,我们使用了约束函数where,约束了id的范围,这就一定程度破坏数据的一致性。

而解决这个问题可以在视图创建时加上检查选项:

create or replace view id_name as select user_id,user_name from users where user_id <=10
with cascaded check option;
--with local check option

介绍

在使用 with local check option 时,MySQL会检查视图的每一个正在更新的行,并确保它符合视图的创建条件。MySQL允许基于一个视图创建另一个视图,为了规定检查的范围,mysql提供了两个选项:

  • with cascaded check option

 cascaded就是,当某一个视图是建立在另一个视图上创建的,就会对该视图以及所关联的视图进行检查,必须要都满足,才能进行合法操作。

这里要非常注意的是,虽然即使在创建视图时使用了约束函数where,但是如果没有指定检查选项时,在更新视图时不会去判断where中的条件。 

  • with local check option 

与cascaded的区别在于,local只会为当前语句创建检查选项,并不会为关联的表创建检查选项。 

更新及作用

更新的条件

视图中的行必须与基础表中的行一一对应关系。

视图包含下面任何一项则不可更新:

  1. 聚合函数
  2. DISTINCT
  3. group by
  4. having
  5. UNION、UNION ALL

更新的作用

  • 简单

视图可以简化数据的操作,如果一项查询被经常使用,就可以将其写成视图,就不用每次查询的时候都去指定一系列条件。

  • 安全

虽然数据库可以进行授权操作,但是并不能具体到数据表的行和列上。而通过视图,用户只能修改视图中的可见数据。

  • 数据独立

能够消除底层基表变化带来的影响(用户不需要关心视图背后的实际数据来源)        

http://www.dtcms.com/wzjs/504468.html

相关文章:

  • 高端的响应式网站建设公司今日的新闻头条10条
  • 太原新媒体运营公司哈尔滨seo服务
  • 八戒网站做推广厦门网站优化
  • 师德师风建设好的小学网站广告公司推广平台
  • 新闻报道策划案模板范文温州seo推广外包
  • 手机网站建设创意新颖网站优化关键词
  • 网站建设毕业设计个人总结汕头seo优化项目
  • 工作做ppt课件的网站百度代理服务器
  • 广州建设网站企业网站关键词优化方案
  • 安装wordpress连接不了数据库黑帽seo寄生虫
  • 适合权重小的网站做的专题重庆镇海seo整站优化价格
  • 山东网络建站推广西安百度提升优化
  • 网站的模糊搜索怎么做北京seo收费
  • 秀山网站建设免费收录平台
  • 自己模板做网站广州关于进一步优化疫情防控措施
  • 加强农业网站建设上海百度关键词推广
  • 网站建设与规划试卷站点
  • 一起做网站女装夏季电脑培训机构
  • 通付盾 网站建设公司百度知道网页入口
  • 防城港做网站山东移动网站建设
  • 青海环保网站建设公司网站推广业务
  • bc网站开发长沙seo排名收费
  • 免费的网页域名台州网站seo
  • 建网360 网站建设seo公司怎么推广宣传
  • 益阳市网站建设科技搜索引擎优化搜索优化
  • 网站建设安全标准博客可以做seo吗
  • 草桥做网站公司网推项目接单平台
  • 广告流量投放seo免费优化软件
  • 电商网站规划品牌传播策划方案
  • 2017织梦网站怎么做seo外贸如何做网站推广