mysql有关l视图的操作.ppt

上传人:za****8 文档编号:12667439 上传时间:2020-05-13 格式:PPT 页数:25 大小:386.77KB
返回 下载 相关 举报
mysql有关l视图的操作.ppt_第1页
第1页 / 共25页
mysql有关l视图的操作.ppt_第2页
第2页 / 共25页
mysql有关l视图的操作.ppt_第3页
第3页 / 共25页
点击查看更多>>
资源描述
第8章视图,视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。这样,用户可以不用看到整个数据库表中的数据,而只关心对自己有用的数据。视图可以使用户的操作更方便,而且可以保障数据库系统的安全性。在这一章中将讲解的内容包括:视图的含义和作用如何创建视图如何修改视图如何查看视图如何删除视图,8.1视图简介,视图由数据库中的一个表或多个表导出的虚拟表。其作用是方便用户对数据的操作。本节将详细讲解视图的含义、作用。,8.1.1视图的含义,视图是一种虚拟的表。视图从数据库中的一个或多个表导出来的表。视图还可以从已经存在的视图的基础上定义。数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来的表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变。,公司部门表departmentCREATETABLEdepartment(d_idint(4)NOTNULLprimarykey,d_namevarchar(20)NOTNULL,functionvarchar(50)defaultNULL,addressvarchar(50)defaultNULL),员工表workercreatetableworker(numint(10)notnullprimarykey,d_idint(4),namevarchar(20),sexvarchar(4),birthdaydatetime,homeaddressvarchar(50),index(d_id);,8.1.2视图的作用,视图是在原有的表或者视图的基础上重新定义的虚拟表,这可以从原有的表上选取对用户有用的信息。那些对用户没有用,或者用户没有权限了解的信息,都可以直接屏蔽掉。这样做既使应用简单化,也保证了系统的安全。视图起着类似于筛选的作用。视图的作用归纳为如下几点:1简化查询语句2增加可读性3保证数据逻辑独立性4增加数据的安全性和保密性,8.2创建视图,创建视图是指在已存在的数据库表上建立视图。视图可以建立在一张表上,也可以建立在多张表上。本节主要讲解创建视图的方法。,8.2.1创建视图的语法形式,MySQL中,创建视图是通过SQL语句CREATEVIEW实现的。其语法形式如下:CREATEALGORITHM=UNDEFINED|MERGE|TEMPTABLEVIEW视图名(属性清单)ASSELECT语句WITHCASCADED|LOCALCHECKOPTION;,8.2.2在单表上创建视图,MySQL中可以在单个表上创建视图。【示例】下面在department表上创建一个简单的视图,视图名称为department_view1。创建视图的代码如下:CREATEVIEWdepartment_view1ASSELECT*FROMdepartment;代码执行如下:mysqlCREATEVIEWdepartment_view1-ASSELECT*FROMdepartment;QueryOK,0rowsaffected(0.03sec),8.2.3在多表上创建视图,MySQL中也可以在两个或两个以上的表上创建视图,也是使用CREATEVIEW语句实现的。【示例】下面在department表和worker表上创建一个名为worker_view1的视图。创建视图的代码如下:CREATEALGORITHM=MERGEVIEWworker_view1(name,department,sex,age,address)ASSELECTname,department.d_name,sex,2013-birthday,addressFROMworker,departmentWHEREworker.d_id=department.d_idWITHLOCALCHECKOPTION;,8.3查看视图,查看视图是指查看数据库中已存在的视图的定义。查看视图必须要有SHOWVIEW的权限,mysql数据库下的user表中保存着这个信息。查看视图的方法包括DESCRIBE语句、SHOWTABLESTATUS语句、SHOWCREATEVIEW语句和查询information_schema数据库下的views表等。本节将详细讲解查看视图的方法。,8.3.1DESCRIBE语句查看视图基本信息,前面已经详细讲解过使用DESCRIBE语句来查看表的基本定义。因为,视图也是一张表。只是这张表比较特殊,是一张虚拟的表。因此,同样可以使用DESCRIBE语句可以用来查看视图的基本定义。DESCRIBE语句查看视图的基本形式与查看表的形式是一样的。基本形式如下:DESCRIBE视图名;,8.3.2SHOWTABLESTATUS语句查看视图基本信息,MySQL中,可以使用SHOWTABLESTATUS语句来查看视图的信息。其语法形式如下:SHOWTABLESTATUSLIKE视图名;其中,“LIKE”表示后面匹配的是字符串;“视图名”参数指要查看的视图的名程,需要用单引号引起了。,8.3.3SHOWCREATEVIEW语句查看视图详细信息,MySQL中,SHOWCREATEVIEW语句可以查看视图的详细定义。其语法形式如下:SHOWCREATEVIEW视图名,8.3.4在views表中查看视图详细信息,MySQL中,所有视图的定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:SELECT*FROMinformation_schema.views;其中,“*”表示查询所有的列的信息;“information_schema.views”表示information_schema数据库下面的views表。,8.4修改视图,修改视图是指修改数据库中已存在的表的定义。当基本表的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间一致。MySQL中通过CREATEORREPLACEVIEW语句和ALTER语句来修改视图。本节将详细讲解修改视图的方式。,8.4.1CREATEORREPLACEVIEW语句修改视图,MySQL中,CREATEORREPLACEVIEW语句可以用来修改视图。该语句的使用非常灵活。在视图已经存在的情况下,对视图进行修改;视图不存在时,可以创建视图。CREATEORREPLACEVIEW语句的语法形式如下:CREATEORREPLACEALGORITHM=UNDEFINED|MERGE|TEMPTABLEVIEW视图名(属性清单)ASSELECT语句WITHCASCADED|LOCALCHECKOPTION;,8.4.2ALTER语句修改视图,在MySQL中,ALTER语句可以修改表的定义,可以创建索引。不仅如此,ALTER语句还可以用来修改视图。ALTER语句修改视图的语法格式如下:ALTERALGORITHM=UNDEFINED|MERGE|TEMPTABLEVIEW视图名(属性清单)ASSELECT语句WITHCASCADED|LOCALCHECKOPTION;,8.5更新视图,更新视图是指通过视图来插入(INSERT)、更新(UPDATE)和删除(DELETE)表中的数据。因为是视图是一个虚拟表,其中没有数据。通过视图更新时,都是转换到基本表来更新。更新视图时,只能更新权限范围内的数据。超出了范围,就不能更新。本小节将重点讲解更新视图的方法和更新视图的限制。,以下几种情况不能更新视图,1视图中包含sum()、count()、MAX()和MIN()等函数2视图中包含UNION、UNIONALL、DISTINCT、GROUPBY和HAVING等关键字3常量视图4视图中的SELECT中包含子查询5由不可更新的视图导出的视图6创建视图时,ALGORITHM为TEMPTABLE类型7视图对应的表上存在没有默认值的列,而且该列没有包含在视图里。,8.6删除视图,删除视图是指删除数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。MySQL中,使用DROPVIEW语句来删除视图。但是,用户必须拥有DROP权限。本节将详细讲解删除视图的方法。对需要删除的视图,使用DROPVIEW语句进行删除。基本形式如下:DROPVIEWIFEXISTS视图名列表RESTRICT|CASCADE,8.7本章实例,在本小节中将在test数据库中work_info表上进行视图操作。1在test数据库中work_info表2插入记录3创建视图info_view4查看视图info_view的基本结构和详细结构5查看视图info_view的所有记录6修改视图info_view7更新视图8删除视图,8.8常见问题及解答,1MySQL中视图和表的区别和联系是什么?两者的区别:1视图是按照sql语句生成的一个虚拟的表2视图不占实际的物理空间。而表中的记录需要占物理空间3建立和删除视图只影响视图本身,不会影响实际的记录。而建立和删除表会影响实际的记录。两者的联系:1视图是在基本表之上建立的表,其字段和记录都来自基本表,其依赖基本表而存在。2一个视图可以对应一个基本表,也可以对应多个基本表3视图是基本表的抽象,在逻辑意义上建立的新关系。,2为什么视图更新不了?,8.9小结,本章介绍了MySQL数据库的视图的含义和作用,并且讲解了创建视图、修改视图和删除视图的方法。创建视图和修改视图是本章的重点内容。这两部分的内容比较多,而且比较复杂。希望能够认真学习这两部分的内容,并且需要在计算机上实际操作。在创建视图和修改视图后,一定要查看视图的结构,以确保创建和修改的操作是否正确。更新视图是本章的一个难点。因为实际中存在一些造成视图不能更新的因素。本章中介绍了一些造成视图不能更新的因素,希望读者在练习中认真分析。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!