MySQL数据库项目化教程 项目六 视图.pptxVIP

  • 4
  • 0
  • 约7.13千字
  • 约 33页
  • 2023-08-08 发布于海南
  • 举报
项目六 视图目录/Contents0102管理视图应用视图学习目标素质目标知识目标技能目标培养和提高学生根据不同的具体情况,从不同视角去观察和分析事物的能力;培养和提高学生的服务意识,克服利用自身的技术优势形成以自我为中心的自我意识,努力为用户提供精准的、差异化、个性化的服务,尽可能地提高用户体验。能根据不同的应用环境为特定的用户量身定制视图;熟练利用视图的优点,为用户提供更简便、更安全的数据使用环境。深刻理解视图的基本概念和重要意义;熟练掌握视图的创建、修改、删除等基本操作;熟练掌握通过视图进行查询、插入、更新数据等基本操作。任务6.1 管理视图任务6.1.1 视图简介 MySQL数据库管理系统提供了一种可以为上层的用户创建出一个“虚拟的”数据表的功能,这个“虚拟表”就是视图。 在视图中,只保留了用户关心的数据项,并且把相关联的多个表“合并”到了一起,组成了一个新的“表”,不过这个表本身并没有数据,它的数据都来自于原始数据表。从用户“视角”来看,它就是一个表,一个整体。用户无法通过视图窥探出这些数据项分别来自于哪些原始数据表,从而分析出整个数据库的逻辑结构,在一定程度上保护了数据库的安全。6.1.2 查询视图1.查看数据库中的所有视图名其语法格式如下所示。SHOW FULL TABLES IN 数据库名 [WHERE TABLE_TYPE LIKE ‘VIEW’];在上述语法格式中,一定要指明数据库的名字,因为它不是默认显示当前数据库中的表或视图。省掉方括号部分的内容,则显示该数据库里的所有表名,既包括原始数据表即基表“BASE TABLE”,也会显示所有的视图“VIEW”。方括号内的代码表示的条件用来限定显示的表的类型为“VIEW”,即只显示视图,不显示基表。6.1.2 查询视图【实例6-1】显示xsgl数据库中的所有表和视图。SQL语句如下所示。mysqlSHOW FULL TABLES IN xsgl;“tables”是用的复数形式,表示多个表【实例6-2】只显示xsgl数据库中的视图,而不显示基表,SQL语句如下所示。mysql SHOW FULL TABLES IN xsgl WHERE TABLE_TYPE LIKE ‘VIEW’; 只显示数据库xsgl里的表类型为视图(view)的文件名view_xsc。 6.1.2 查询视图2.查看视图结构信息它与基表一样,也有它的结构,查看命令与查看表的结构一样。其语法格式如下所示。DESC[RIBE] 视图名;整个结构包括它的所有字段名、数据类型、是否为空等信息,这与表的结构是类似的,但它没有主键、唯一键以及外键的概念,其约束规则来自于它的基表。【实例6-3】查看xsgl数据库下的view_xsc视图的结构,SQL语句如下所示。mysqlDESC view_xsc;6.1.2 查询视图3.查看与视图的定义等价的命令代码其语法格式如下所示。SHOW CREATE VIEW 视图名;“以上命令将会把定义该视图的代码还原出来,同时还会额外显示一些与该视图状态相关的信息。 【实例6-4】查看xsgl数据库下的view_xsc视图的定义代码,SQL语句如下所示。 mysql SHOW CREATE VIEW view_xsc; 6.1.3 创建单表视图其语法格式如下所示。CREATE VIEW 视图名(字段1,字段2,字段3…) ASSELECT 字段a,字段b,字段c[,...] FROM 基表名;而视图中的所有字段其实都来自于基表中所对应的字段,即字段1、字段2、字段3分别来自于基表中的字段a、字段b和字段c。【实例6-5】站在学生处工作人员的角度,为其量身定做一个视图view_xsc。该视图只涉及到学生的一些基本信息,如学号、姓名、性别、籍贯、联系方式,因此,只需要对数据库xsgl中的一个基表xuesheng进行查询就足够了。另外,基表xuesheng中的字段名并不是普通应用层的用户能直接读懂的形式,要求将它们“包装”成用户能直接识别的形式。6.1.3 创建单表视图第一步:创建视图view_xsc,SQL语句如下所示。mysql CREATE VIEW view_xsc(学号,姓名,性别,籍贯,联系方式) AS SELECT xh,xm,xb,jg,lxfs FROM xuesheng;提醒读者在写书长代码时,养成一个好的书写习惯。把每一项功能单独写成一行。如上图所示,第一行要实现的核心功能是创建一个视图view_xsc,并描述了它的结构,第二行表达的是视图是来自于一个查询结果。AS在此处理解为“像……一样”,意思是视图view_xsc的结构像后面的SELECT语句的查询结果一样。这就更好理解了视图是一个映射了基表的“虚拟表”的概念,它就是在原始数据表的基础上创建的。6

文档评论(0)

1亿VIP精品文档

相关文档