- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
视图,view
基本概念:
一张利用查询语句所形成的虚拟表!
对客户端的用户,就是一个表的含义!
创建一个视图:
在比赛表中,显然大部分查询比赛信息,都需要得到两个球队的信息:
将两个球队的信息,利用一个虚拟表,保存起来,下次查询就不必要再次做连接!直接查询
刚刚所保存的虚拟表即可!
语法:
createview名字AS查询语句
将刚刚的比赛信息结果,形成一个视图:
此时,只需要同时该视图,就可以完成对比赛信息的查询,降低的业务逻辑的复杂程度!
注意:
视图内,是不保存数据的:
只记录查询语句,和其他的一些信息!
因此:
数据还是在原始表中,每次对视图的查询,都会利用查询语句,从原始表中,获得数据,形
成结果!删除视图,数据还是存在:
因此,视图的两大作用:
1,简化业务逻辑~!
2,对客户端,隐藏真实表结构!此时如果真实表结构变化,我们可以重建视图。
不要对视图进行修改操作!
而且也不是所有的更新视图,都会映射到表上!
相关语法
创建:
createviewview_nameASselect_statement;
删除:
dropviewview_name;
查询视图:
视图的执行过程,视图算法
注意:
查询,最高的队员:
利用from型子查询完成:
如果使用视图呢?将按照身高做一次排序的视图!
创建视图:
查询视图:
利用视图查最高:
可见结果不对:
视图在执行时,有不同的执行流程:
不同的视图算法:
merge,合并
temptable,临时表
默认是:undefinded,表示未定义,指的是mysql自主去选择相应的算法!
merge,合并:
将视图的查询语句,与外部查询需要先合并再执行!
temptable:临时表:
将视图执行完毕后,形成临时表,再做,外层查询!
测试上的查询视图:
合并算法:
执行为:
再看临时表:
显然,如果视图中,会出现要求顺序严格的子句,最好将算法定义成临时表的!
在创建视图是可以指定视图的算法!
利用
createalgorithm=merge|temptable|undefinedviewview_nameasselect_statement
注意:
视图,一定是对实际表建立的视图!
主要指:
1,视图所关联的表必须存在!
2,所关联的表不是能是一个临时表from子查询使用的表!
事务,transaction
一组sql的集合!要不都成功,要不都失败!
支持连续sql的集体成功还是集体撤销!
而是,事务,算是数据库在数据完整性方面的一个功能!
需要利用innodb引擎,对自动提交的特性的支持完成!
需要保证表的引擎是innodb的!innodb引擎,也被称为:事务安全型的引擎!
相关语法:
开启事务的特性:
starttransaction
开始,下面所执行的所有的sql,被认为是一个事务内的sql语句!
此时,如果需要执行的操作都成功了!
就应该将当前操作,让其他的连接看到,并且持久化到表中!
称之为,事务提交
commit完成
此时如果部分操作发生问题,应该将对数据的改变,映射到事务开始的时候!
将刚刚从操作,事务回滚
rollback完成!
典型的就三个语句,一个引擎:
innodb
starttransaction(begin可以代替)
commit
rollback
事务的原理
利用innodb的自动提交的特性完成!
每当msyql执行了一条语句后,都会默认的将当前操作做的影响,提交的数据上!
提交(是更改让其他客户端可见,持久化数据)
而事务,是将自动提交的机制,关闭了!因此开启事务后,当前的所执行的sql,就不会让
其他客户端可见;
简单的,可以通过修改服务器的自动提交的参数,完成类似事务的功能:
利用一个服务器的变量完成!
0,为关闭自动提交,1,开启自动提交:
此时一旦关闭,则执行的sql,在其他的客户端也不可见,需要当前客户端提交才可以!
典型的,也可以使用setautocommit=0来开启事务。
与starttransaction不同的是:
setautocommit是永久改变服务器的设置,直到下次再次修改!
而starttransaction记录开启前的状态,而一旦该事务提交或者回滚后,会自动回到原有的
状态!
事务的特点:
ACID
原子性,
一致性,
您可能关注的文档
最近下载
- 2024年北京市公安局顺义分局勤务辅警、流动人口管理员招聘考试题库(含答案).pdf VIP
- GB_T 9441—2021《球墨铸铁金相检验》标准解读.pdf VIP
- 精编人教版五年级上册数学第一单元试卷(含解析).docx VIP
- 英语时态专项练习.doc
- Pierce交联磁珠式免疫沉淀免疫共沉淀试剂盒.PDF
- (11)免疫调节——2024年九省联考+2023年四省联考+2021年八省联考生物专项精编.docx VIP
- GB/T 19812.6-2022塑料节水灌溉器材 第6部分:输水用聚乙烯(PE)管材.pdf
- 低空经济装备制造产业园项目可行性报告(模板范文).docx
- 2023年成人本科学位英语考前真题及答案.docx
- 2018年新国家开放大学报名登记表系统表.pdf VIP
文档评论(0)