版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知识点1、视图的基本概念视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表,只放视图定义,不存放对应的数据,数据仍在原来的基本表中。基本表中的数据发生变化,从视图中查询出的数据也随着变化。视图可以和基本表一样被查询、删除,也可在其基础上再定义新视图,但对视图的更新有一定的限制。视图是一种SQL查询。2、数据表、视图、临时表的区别2.1建议数据表用来做增删改操作的,视图用来查数据,可以避免大量频繁的查询和增删改操作之间的冲突,造成死锁。2.2视图消耗内存,创建视图时,不要把内容很大的字段放进去,比如文章内容,会消耗很多内存空间,影响查询效率,这些大字段只能是分拆成查视图或查表。2.3在一个项目中,编写存储过程时,较复杂查询的结果一般会放入临时表。一些常用的较复杂查询语句,会在多个存储过程中重复编写临时表。这时候,可以考虑使用视图,减少频繁编写SQL语句的烦恼。3、创建视图定义以进度17的学生表3为例,创建视图如下:createviewvw_GetScoreasselect姓名,sum(isnull(语文分数,0))as语文分数,sum(isnull(数学分数,0))as数学分数,sum(isnull(英文分数,0))as英文分数from( select fnameas姓名, casewhenfsubject='语文'thenfscoreendas'语文分数', casewhenfsubject='数学'thenfscoreendas'数学分数', casewhenfsubject='英文'thenfscoreendas'英文分数' from学生表3)t1groupby姓名--创建完视图,查询视图select*fromvw_GetScore4、修改视图定义alterviewvw_GetScoreasselect姓名,sum(isnull(语文分数,0))as语文成绩,sum(isnull(数学分数,0))as数学成绩,sum(isnull(英文分数,0))as英文成绩from( select fnameas姓名, casewhenfsubject='语文'thenfscoreendas'语文分数', casewhenfsubject='数学'thenfscoreendas'数学分数', casewhenfsubject='英文'thenfscoreendas'英文分数' from学生表3)t1groupby姓名--修改完视图,查询视图select*fromvw_GetScore5、删除视图定义--请不要执行dropviewvw_GetScore6、视图数据的更新视图数据的更新包括插入(insert)、删除(delete)、更新(update)三类操作。由于视图是虚表,所以对视图的更新可以转变成一个等价的对基本表的更新,更新操作最终作用在基本表上。6.1在两个以上基本表上使用连接操作定义的连接视图不可以更新6.2所有行列子集视图,如果基本表中所有不允许空值的字段都出现在视图中,则可以对其更新6.3使用分组和聚集函数定义的视图不可以更新6.4带有由基本数据经过计算派生出的虚拟字段,更新视图时,带有派生字段不可以更新。不更新派生字段,则可以更新。7、视图插入数据createtable学生表4( fidintidentity(1,1), fnamevarchar(100), fsexvarchar(10))insertinto学生表4(fname,fsex)select'大明','男'unionallselect'王燕','女'unionallselect'小花','女'--创建视图1,单个基本表--行列子集视图:若一个视图是从单个基本表导出的,并且只是去掉了--基本表的某些行和某些列,但保留了主键,这类视图称为行列子集视图--本例是否符合行列子集视图吗?不符合!因为本例基本表并没有设置主键--也可说符合!因为感觉差不多嘛!createviewvw_学生表3asselectfnameas姓名,fsubjectas科目,fscoreas学习成绩from学生表3--创建视图2,两个基本表联合查询createviewvw_学生表34asselectt1.fnameas姓名,t2.fsexas性别,t1.fsubjectas科目,t1.fscoreas学习成绩from学生表3t1leftjoin学生表4t2ont1.fname=t2.fname--视图1插入1条记录insertintovw_学生表3(姓名,科目,学习成绩)values('陈广','语文','88')--查看插入的数据select*from学生表3--视图2插入1条记录,向单表学生表3插入数据表insertintovw_学生表34(姓名,科目,学习成绩)values('李冰','语文','88')--查看插入的数据select*from学生表3--视图2插入1条记录,向多表学生表3、学生表4插入数据表--字段性别属于学生表4--6.1在两个以上基本表上使用连接操作定义的连接视图不可以更新insertintovw_学生表34(姓名,科目,学习成绩,性别)values('李冰','数学','88','男')--带聚合函数的视图--6.3使用分组和聚集函数定义的视图不可以更新insertintovw_GetScore(姓名)select'龙轩'--创建视图3,派生的虚拟字段--6.4带有由基本数据经过计算派生出的虚拟字段,派生字段不可以更新。createviewvw_学生表3avgasselectfnameas姓名,fsubjectas科目,fscoreas分数,casewhenfscore>=90then'A'whenfscore>80andfscore<90then'B' else'C'endas等级from学生表3--插入数据,包括派生字段等级insertintovw_学生表3avg(姓名,科目,分数,等级)select'龙轩','数学','60','C'8、视图更新数据select*fromvw_学生表3updatet1sett1.学习成绩=65fromvw_学生表3t1w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年长江职业学院马克思主义基本原理概论期末考试模拟试卷
- 2025年哈尔滨华德学院马克思主义基本原理概论期末考试笔试真题汇编
- 2025年浙江金华科贸职业技术学院马克思主义基本原理概论期末考试笔试真题汇编
- 2024年北京电影学院马克思主义基本原理概论期末考试模拟试卷
- 2025年吉林建筑科技学院马克思主义基本原理概论期末考试模拟试卷
- 2024年成都轨道交通职业学院马克思主义基本原理概论期末考试模拟试卷
- 2025年大庆职业学院马克思主义基本原理概论期末考试笔试题库
- 2025年河南地矿职业学院马克思主义基本原理概论期末考试参考题库
- 2025年吉林建筑大学马克思主义基本原理概论期末考试模拟试卷
- 2025年苏州职业技术大学马克思主义基本原理概论期末考试参考题库
- 2026年党支部主题党日活动方案
- 2025年福鼎时代面试题及答案
- 钢管室内操作架施工方案
- 形容词变副词综合练习题及知识讲解
- 电动汽车充电桩投资回报分析报告
- 质量体系教育培训制度
- (正式版)DB13∕T 6148-2025 《冀北地区退化草地生态修复技术规程》
- 咖喱知识培训课件
- 中继间施工方案
- 护理查对制度试卷(含答案)
- 铁路安规培训课件
评论
0/150
提交评论