当前位置: 首页 > 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/80590.html

相关文章:

  • 深圳 网站建设培训学校淘宝权重查询入口
  • 光明网武汉seo公司
  • 网站建设策划书前言河南网站定制
  • 织梦网站采集侠怎么做长沙做网站推广
  • 网站标题和描述优化seo jsbapp9
  • 同城购物网站怎么做seo网站关键词
  • 网站配色设计网站建设有哪些公司
  • 做营销网站建设价格今日全国最新疫情通报
  • 政府网站模板免费下载农村电商平台
  • 公司变更函模板seo下载站
  • 电商网站 解决方案seo关键字排名
  • 韩国教做发饰的网站网络推广企划
  • wap网站什么意思西安自动seo
  • 公司请人做公司网站会计分录谷歌关键词搜索排名
  • 潍坊做网站公司补脾最查询网站流量
  • php做商城网站步骤站长资源平台
  • 福州网站设计哪家好怎么做好网络推广销售
  • 朝西村小江网站建设电商运营主要做什么
  • 怎么自己做网站赚钱吗上海网络推广软件
  • 建设网站的好处和优点最新的网络营销的案例
  • 建设公司网站要注意什么制作网站建设入门
  • 苏州网站建设的一般流程推广排名
  • 全国购物网站排名百度收录入口
  • 乐清新闻综合频道节目表武汉seo
  • 网站广告赚钱小说百度风云榜
  • 邯郸做网站的博客品牌网站建设制作
  • 苏州网站的优化seo自己怎么做
  • 如何用api方式做网站百度发视频步骤
  • wordpress 模版制作seo职业发展
  • 鞍山做网站团队惠州seo网站推广