MySQL数据库实战教程-70-视图
admin
2023-08-03 12:02:56
0次


MySQL数据库实战教程-70-视图

文章插图
转自:http://www.cnblogs.com/wangtao_20/archive/2011/02/24/1964276.html
【MySQL数据库实战教程-70-视图】 
一、使用视图的理由是什么?
1.安全性 。一般是这样做的:创建一个视图,定义好该视图所操作的数据 。之后将用户权限与视图绑定 。这样的方式是使用到
了一个特性:grant语句可以针对视图进行授予权限 。
2.查询性能提高 。
3.有灵活性的功能需求后,需要改动表的结构而导致工作量比较大 。那么可以使用虚拟表的形式达到少修改的效果 。
这是在实际开发中比较有用的
例子:假如因为某种需要,a表与b表需要进行合并起来组成一个新的表c 。最后a表与b表都不会存在了 。而由于原来程序中编
写sql分别是基于a表与b表查询的,这就意味着需要重新编写大量的sql(改成向c表去操作数据) 。而通过视图就可以做到不修
改 。定义两个视图名字还是原来的表名a和b 。a、b视图完成从c表中取出内容 。
说明:使用这样的解决方式,基于对视图的细节了解越详细越好 。因为使用视图还是与使用表的语法上没区别 。比如视图名a
,那么查询还是"select * from a" 。
4.复杂的查询需求 。可以进行问题分解,然后将创建多个视图获取数据 。将视图联合起来就能得到需要的结果了 。

视图的工作机制:当调用视图的时候,才会执行视图中的sql,进行取数据操作 。视图的内容没有存储,而是在视图被引用的时候才派生出数据 。这样不会占用空间,由于是即时引用,视图的内容总是与真实表的内容是一致的 。
视图这样设计有什么好处?节省空间,内容是总是一致的话,那么我们不需要维护视图的内容,维护好真实表的内容,就可以保证视图的完整性了 。
二、通过更新视图实现更新真实表
看到很多例子,更新视图可以更新真实表 。原因,我是这样理解的:视图并没有保存内容 。只是引用数据 。那么,更新视图,其实就是以引用的方式操作了真实表
with check option:对视图进行更新操作的时,需要检查更新后的值是否还是满足视图公式定义的条件 。通俗点,就是所更新的结果是否还会在视图中存在 。如果更新后的值不在视图范围内,就不允许更新如果创建视图的时候,没有加上with check option,更新视图中的某项数据的话,mysql并不会进行有效性检查 。删掉了就删掉了 。在视图中将看不到了 。

使用有效性检查,实际意义是什么?

视图的实践:重新组织表的需求
CREATE TABLE `result` (`MATH_NO` INT(10) NOT NULL unsigned AUTO_INCREMENT PRIMARY KEY,
`TEAMNO` INT(10) NOT NULL,
`PLAYERNO` INT(10) NOT NULL,
`WON` VARCHAR(10) NOT NULL,
`LOST` VARCAHR(10) NOT NULL,
`CAPTAIN` INT(10) NOT NULL COMMIT ‘就是PLAYERNO的另外名字‘,
`DIVISION` VARCHAR(10) NOT NULL
) ENGINE=MYISAM  DEFAULT CHARSET=utf8 COMMIT=‘重新组的新表‘ AUTO_INCREMENT=1

针对每个表创建一个视图,将数据保存进去:
CREATE VIEW teams(TEAMNO,PLAYERNO,DIVISION) AS SELECT  DISTINCT TEAMNO,CAPTAIN,DIVISION FROM result
报错:#1050 - Table ‘teams‘ already exists 
说明,因为视图也是一种表,是虚拟表 。不能与已有的表(视图)出现重名
接下来,删掉表teams,再执行创建视图的代码 。

将视图看成与表一样的东西,更加容易理解使用规则 。下面这样对比也许使自己更好理解:
1.在使用视图的时候,就是与使用表的语法一样的 。

相关内容

热门资讯

大浪淘金APP黑幕揭秘:内盘操...   大浪淘金APP平台最隐蔽的黑幕,在于其完全封闭的内盘交易系统。这个看似与国际市场接轨的交易平台,...
告别固定工资实现财富自由?一品...   普通投资者被广告宣传诱导,注册就送现金,充值返现金券等等这些宣传方式,都是在引流到平台开户,不怕...
哈易购APP打着现货交易幌子搞...   网络上各类白银、铂金等贵金属投资广告铺天盖地,不少平台以"现货交易"为名,暗中却从事着非法期货交...
5元起投!高额收益?中国白银、...   上海华通白银国际交易中心有限公司(以下简称“华通白银国际”)打着“白银、铂金现货订购”的旗号,实...
"九州订购APP、起...   近年来,贵金属投资热度持续攀升,但乱象也随之而来。一些不法分子趁机搭建虚假交易平台,打着"低门槛...
坚锅淘金APP投资者频繁爆仓亏...   坚锅淘金APP对外宣称是贵金属现货交易平台,日常出入金看似畅通无阻,给人一种合规运营的假象。但事...
斗金订购APP“5元订购现货”...   斗金订购APP“5元订购现货”骗局揭秘:充值易、回本难,越陷越深!  许多投资人在未核实平台合规...
贵金属APP乱象曝光:&quo...   当前市场上部分贵金属类APP未取得正规交易资质,涉嫌误导消费者参与白银、铂金等商品的非合规交易!...
华通白银、银宝街APP被指虚假...   警惕现货白银投资陷阱:上海华通白银背后的平台涉嫌非法期货交易  近年来,各类现货白银交易平台以“...
充值送300,月入过万?别被量...   如今,网络上充斥着大量未经批准的贵金属及其他产品订购交易平台。这些平台普遍缺乏合法经营资质,却将...
鑫汇智投APP贵金属非法期货、...   鑫汇智投APP贵金属非法期货、人为控盘,大量投资者遭恶意收割  鑫汇智投APP长期以“低门槛、高...
矅光智策APP非法贵金属交易骗...   不少投资人在矅光智策APP上进行贵金属交易后出现了严重亏损。许多人在下载该平台时,根本不清楚其是...
飞鸽订购APP非法期货交易骗局...   飞鸽订购APP非法期货交易骗局,很多投资者根本没搞懂规则就盲目充值,买涨买跌跟买cai票一样!平...
天龙白银APP被操控的非法期货...   中小投资者在网络平台参与商品现货订购交易,表面看似合规合法,实则暗藏诸多难以察觉的风险。商品现货...
下载送试玩金?千万别碰!带你揭...   当前,许多贵金属APP交易平台正采用欺诈性营销手段。它们通过抖音等短视频平台,以“5元起投”“充...
泡泡淘金APP骗局:打着&qu...   泡泡淘金APP骗局:打着"商品订购"幌子,实则非法期货收割投资者!投资需谨慎,切勿轻信“高额回报...
南商云购APP虚假电子盘背后的...   南商云购是虚假电子盘吗?它是否具备合规的交易资质?这个曾经的"现货电子盘"如今摇身一变,披上了"...
警惕"祥龙订购&qu...   祥龙订购APP、掌上银牛APP等平台背后的运营方——四川禄宏商品现货市场有限公司,仅具备现货交易...
中国白银、华银:虚假宣传、后台...   中国白银APP宣称是上市公司“中国白银集团”与“上海华通白银国际交易中心”旗下的现货交易平台,提...
起底“优品订购”APP非法期货...   “优品订购”APP根本不具备任何合法的交易资质。其背后的运营方仅凭随便注册一家公司、开发一款交易...