MySQL数据库原理与应用(微课版)ch10视图_第1页
MySQL数据库原理与应用(微课版)ch10视图_第2页
MySQL数据库原理与应用(微课版)ch10视图_第3页
MySQL数据库原理与应用(微课版)ch10视图_第4页
MySQL数据库原理与应用(微课版)ch10视图_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章

视图本章概述数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据来自于由定义视图查询所引用的表,并且在引用视图时动态生成。本章将结合实例来介绍视图的含义、视图的作用、创建视图、查看视图、修改视图、更新视图和删除视图等内容。本章学习目标了解视图的含义和作用;掌握创建视图的方法,包括在单表上创建视图和在多表上创建视图;熟悉如何查看视图,包括通过DESCRIBE和通过SHOWTABLESTATUS查看视图基本信息,通过SHOWCREATEVIEW和在views表中查看视图的详细信息;掌握修改视图的方法,包括通过CREATEORRELPLACEVIEW、ALTER语句修改视图;掌握更新视图的方法,包括INSERT、UPDATE和DELETE三种更新方式;掌握删除视图的方法,主要通过DROPVIEW语句实现;掌握综合案例中视图应用的方法和技巧。目录01020304查看视图创建视图修改视图视图概述05更新视图06删除视图07视图应用本章小结08目录01视图概述020304查看视图创建视图修改视图05更新视图06删除视图07视图应用本章小结08视图概述视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中,用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE语句修改记录。从MySQL5.0开始可以使用视图,视图可以使用户操作方便,而且可以保障数据库系统的安全。与直接从数据表中读取相比,视图有以下优点:简单化安全性逻辑数据独立性。目录02创建视图01视图概述0304查看视图修改视图05更新视图06删除视图07视图应用本章小结08创建视图视图中包含SELECT查询的结果,因此视图的创建基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上。创建视图使用CREATEVIEW语句,基本语法格式如下:CREATE[ORREPLACE][ALGORITHM=(UNDEFINED|MERGE|TEMPTABLE)]VIEWview_name[(column_list]ASSELECTstatement[WITH[CASCADED|LOCAL]CHECKOPTION]其中,CREATE表示创建新的视图;REPLACE表示替换已经创建的视图;ALGORITHM表示视图选择的算法;view_name为视图的名称,column_list为属性列;SELECT_statement表示SELECT语句;WITH[CASCADED|LOCAL]CHECKOPTION参数表示视图在更新时保证在视图的权限范围之内。创建视图MySQL可以在单个数据表上创建视图。【例10-1】在Z表上创建一个名为view_Z的视图,代码如下:(1)首先创建基本表并插入数据,语句如下:CREATETABLEZ(quantityINT,priceFLOAT);INSERTINTOZVALUES(3,50);运行结果如图所示。创建视图MySQL可以在单个数据表上创建视图。【例10-1】在Z表上创建一个名为view_Z的视图,代码如下:(1)首先创建基本表并插入数据,语句如下:CREATETABLEZ(quantityINT,priceFLOAT);INSERTINTOZVALUES(3,50);运行结果如图1所示。(2)创建视图,然后查询视图,语句如下:CREATEVIEWview_ZASSELECTquantity,price,quantity*priceFROMZ;SELECT*FROMview_Z;执行结果如图2所示。图2图1创建视图MySQL中也可以在两个或者两个以上的表上创建视图,可以使用CREATEVIEW语句实现。【例10-3】在表tb_student和表tb_student_info上创建视图stu_glass。创建视图student_view,语句如下:CREATEVIEWstudent_view(s_id,s_name,glass)ASSELECTtb_student.s_id,tb_student.s_name,tb_student_info.glassFROMtb_student,tb_student_infoWHEREtb_student.s_id=tb_student_info.s_id;SELECT*FROMstudent_view;目录03查看视图0102创建视图视图概述04修改视图05更新视图06删除视图07视图应用本章小结08查看视图查看视图是查看数据库中已存在的视图的定义。查看视图必须要有SHOWVIEW的权限,MySQL数据库下的user表中保存着这个信息。查看视图的方法包括:DESCRIBE、SHOWTABLESTATUS和SHOWCREATEVIEW。DESCRIBE视图名;SHOWTABLESTATUSLIKE'视图名';SHOWCREATEVIEW视图名;SELECT*FROMinformation_schema.views\G;目录04修改视图010203查看视图创建视图视图概述05更新视图06删除视图07视图应用本章小结08修改视图使用CREATEORREPLACEVIEW语句修改视图:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}VIEWview_name[(column_List)]ASSELECT_statement[WITH[CASCADED|LOCAL]CHECKOPTION]ALTER语句是MySQL提供的另一种修改视图的方法,语法如下:ALTER[ALGORITHM=(UNDEFINED|MERGE|TEMPTABLE)]VIEWview_name[(columnlist)]ASSELECT_statement[WITH[CASCADED|LOCAL]CHECKOPTION]目录05更新视图06删除视图07视图应用本章小结0801020304查看视图创建视图修改视图视图概述更新视图针对视图对象进行更新、插入、删除,可以更新视图内容:UPDATEview_ZSETquantity=5;INSERTINTOtVALUES(2,4);DELETEFROMview_Z2WHEREprice=8;目录06删除视图07视图应用本章小结0801020304查看视图创建视图修改视图视图概述05更新视图删除视图当视图不再需要时,可以将其删除,删除一个或多个视图可以使用DROPVIEW语句,语法格式如下:DROPVIEW[IFEXISTS]

view_name[,view_name]…

[RESTRICT|CASCADE]其中,view_name是要删除的视图名称,可以添加多个需要删除的视图名称,各个名称之间使用逗号分隔开。删除视图必须拥有DROP权限。【例10-13】删除student_view视图,代码如下:DROPVIEWIFEXISTSstudent_view;

执行结果如图所示。目录07视图应用本章小结0801020304查看视图创建视图修改视图视图概述05更新视图06删除视图视图应用本节通过示例来综合练习视图的创建、查询、更新和删除操作。基于图书信息系统,建立关于系统管理员、图书信息、借阅记录和归还记录的视图。目录本章小结0801020304查看视图创建视图修改视图视图概述05更新视图06删除视图07视图应用本章小结数据库中的视图是一个虚拟表,也包含了一系列带有名称的行和列数据。行和列数据均来自于由视图所引用的表,并且在引用视图时动态抽取数据表中的数据。本章通过理论与实例相结合,介绍了视图的含义、视图的作用、创建视图、查看视图、修改视图、更新视图和删除视图等内容。在建立视图时,可以基于单个数据表创建视图,也可以基于多数据表创建视图;可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论