MySQL数据库应用项目式教程课件:认识并创建视图.pptx
认识并创建视图
认识视图视图是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表,包含一系列动态生成的行和列数据。创建视图时所引用的表称为基表。与直接操作基表相比,视图具有以下优点:(1)简单(2)安全(3)逻辑数据独立
本节内容1.使用CREATEVIEW语句创建单源表视图2.使用图形管理工具创建视图
01使用CREATEVIEW语句创建单源表视图
1.使用CREATEVIEW语句创建单源表视图基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上,本任务运用SQL语句创建单源表视图。【任务描述】创建studb数据库上基于student表的视图“view_stuifo”,包括“信息工程系”学生的sno、sname、birthday、class和total_credits。
1.使用CREATEVIEW语句创建单源表视图【任务分析和知识储备】1.CREATEVIEW语句的基本语法格式视图依赖于基本表,创建studb数据库上基于student表的视图view_stuifo,在MySQL中,需要使用CREATEVIEW语句创建视图,其基本语法格式为:CREATE[ORREPLACE]VIEW视图名[列名列表]ASSELECT语句[WITH[CASCADED|LOCAL]CHECKOPTION];
语法说明:列名列表:要想为视图的列定义明确的名称,可使用可选的列名列表子句,列出由逗号隔开的列名。列名列表中的名称数目必须等于SELECT语句检索的列数。若使用与源表或视图中相同的列名,可以省略列名列表。ORREPLACE:给定ORREPLACE子句,语句能够替换已有的同名视图。SELECT语句:用来创建视图的SELECT语句,可在SELECT语句中查询多个表或视图。WITHCHECKOPTION:这一项是可选的,如果加上这一行,表示在视图更新时,会检查SELECT语句所指定的视图规则,不符合视图规则的记录不能更新。当视图根据另一个视图定义时,WITHCHECKOPTION给出LOCAL和CASCADED两个关键字,它们决定了检查测试的范围,CASCADED关键字会检查底层视图规则,LOCAL关键字只检查当前视图的规则,如果未给定任一关键字,则默认为CASCADED。1.使用CREATEVIEW语句创建单源表视图
1.使用CREATEVIEW语句创建单源表视图视图中使用SELECT语句的限制定义视图的用户必须对所参照的表或视图有查询权限(即可执行SELECT语句的权限);在定义中引用的表或视图必须存在。不能包含FROM子句中的子查询,不能引用系统或用户变量,不能引用预处理语句参数。在视图定义中允许使用ORDERBY子句,但是,如果从特定视图进行了选择,而该视图使用了具有自己ORDERBY子句的语句,则视图定义中的ORDERBY子句将被忽略。
查询视图视图创建完成后,我们可通过SELECT语句查询视图,其基本语法格式与查询基本表相同,之前已经讲述,在此不再重复。1.使用CREATEVIEW语句创建单源表视图
【任务实施】(1)打开Navicat集成开发环境。(2)在Navicat中连接MySQL中的studb数据库,在查询编辑器窗口输入以下SQL语句并运行,创建视图view_stuifo,如图所示。CREATEVIEWview_stuifoASSELECTsno,sname,birthday,class,total_creditsFROMstudentwheredept=信息工程系;1.使用CREATEVIEW语句创建单源表视图
(3)输入以下SQL语句并运行,查询视图的记录数据,如图所示。SELECT*FROMview_stuifo;1.使用CREATEVIEW语句创建单源表视图
【任务总结】创建视图要求用户具有CREATEVIEW权限,以及查询涉及的列的SELECT权限。视图创建后,MySQL就会在数据库目录中创建一个“视图名.frm”文件。1.使用CREATEVIEW语句创建单源表视图
操作演示
02使用图形管理工具创建视图
2.使用图形管理工具创建视图本任务运用Navicat图形管理工具创建多源表视图。【任务描述】创建名为“view_stusc”的视图,该视图包括student表中信息工程系学生的sno、sname、class、total_credits、cno、grade和cname。
2.使用图形管理工具创建视图多源表视图是指视图的来源有两张或多张数据表,这种视图在实际应用中使用的更多一些。使用Navicat完成多源表视图