当前位置: 首页 > article >正文

使用视图方式操作MySQL数据表

7.1  认识视图

7.1.1  视图的含义

视图是一种常用的数据库对象,可以把它看成从一个或几个源表导出的虚表或存储在数据库中的查询,对视图所引用的源表来说,视图的作用类似于筛选。

视图一经定义后,就可以像源表一样被查询、修改和删除。视图为查看和存取数据提供了另外一种途径,使用查询可以完成的大多数操作,使用视图一样可以完成。

使用视图还可以简化数据操作。当通过视图修改数据时,相应源表的数据也会发生变化 ;同时,若源表的数据发生变化,则这种变化也可以自动地同步反映到视图中。

视图是在源表或者视图基础上重新定义的虚拟表,它可以从源表中选取用户所需的数据,那些对用户没有用或者用户没有权限了解的数据,都可以屏蔽掉。

7.2  创建视图

创建视图可以使用 Create View 语句,该语句完整的语法格式如下 :

Create

            [ Or Replace ]

            [ < 算法选项 > ]

            [ < 视图定义者 > ]

            [ < 安全性选项 > ]

View < 视图名 > [ < 视图的字段名称列表 > ]

As <Select 语句 >

            [ 检查选项 ]

说明

7.3  查看视图的相关信息

1.使用 Describe 语句查看视图的结构定义

如果只需要了解视图的各个字段的简单信息,可以使用 Describe 语句,其语法格式与查询数据表一样。通常情况下,可以使用缩写 Desc 代替 Describe

Describe < 视图名称 > ;

2.使用 Show Table Status 语句查看视图的基本信息

MySQL 中,可以使用 Show Table Status 语句查看视图的基本信息,其语法格式如下 :

Show Table Status Like < 视图名称 >

该语句执行结果中列“Comment”的值为“VIEW”,表示视图,其他列为 NULL(说明这是一个虚表)。

3.使用 Show Create View 语句查看视图的定义信息

MySQL 中,可以使用 Show Create View 语句查看视图的定义信息,其语法格式如下 :

Show Create View < 视图名称 > ;

任务 7-1】使用 Create View 语句创建单源表视图

任务描述

创建一个名称为“view_ 人邮社 0701”的视图,该视图包括“人民邮电出版社”出版的所有价格大于 40 元的图书的信息,视图中包括数据表“图书信息”中的商品编号、图书名称、出版社、商品类型等数据,已知“人民邮电出版社”的字段“出版社 ID”的值为 1

任务实施

任务 7-2】使用 Navicat for MySQL 创建多源表视图

任务描述

创建一个名称为“view_ 人邮社 0702”的视图,该视图包括“人民邮电出版社”出版的所有图书的信息,视图中包括数据表“图书信息”中的商品编号、图书名称、数据表“出版社信息”中的出版社名称、数据表“商品类型”中的类型名称等数据。

任务实施

视图创建工具窗口中单击构建按钮,关闭该窗口返回 Navicat for MySQL 的“视图”定义区域。设置好字段、数据表及关联条件、Where 条件的查询语句如下所示 :

任务 7-3】修改视图

当视图不符合使用需求时,可以使用 Alter View 语句对其进行修改,视图的修改方法与创建方法相似,其语法格式如下 :

Alter

          [ < 算法选项 > ]

          [ < 视图定义者 > ]

          [ < 安全性选项 > ]

View < 视图名 >

As <Select 语句 >

          [ 检查选项 ]

任务描述

1)修改视图“view_ 人邮社 0701”,使该视图包括“人民邮电出版社”出版的价格高于 40 元的所有图书信息,视图中包括数据表“图书信息”中的商品编号、图书名称、价格、出版社、商品类型等数据。

2)修改视图“view_ 人邮社 0702”,使该视图包括“人民邮电出版社”出版的价格高于 40 元的所有图书信息,视图中包括数据表“图书信息”中的商品编号、图书名称、数据表“出版社信息”中的出版社名称、数据表“商品类型”中的类型名称等数据。

任务实施

任务 7-4】利用视图查询与更新数据表中的数据

任务描述

1)创建一个名称为“view_ 用户注册 0703”的视图,该视图包括所有的用户注册信息。

2)利用视图“view_ 用户注册 0703”查询“权限等级”为“C”的用户注册信息。

3)利用视图“view_ 用户注册 0703”新增一个注册用户,用户 ID 为“7”,用户编号为“u00007”,用户名称为“测试用户”,密码为“todayBetter,权限等级为“A”,手机号码为“18074198678”,用户类型为“2”

4)使用视图“view_ 用户注册 0703”修改前一步新注册的用户,将其权限等级修改为“C”,用户类型修改为“1”

5)使用视图“view_ 用户注册 0703”删除前面新注册的用户“测试用户”。

任务实施

任务 7-5】删除视图

删除视图是指删除数据库中已存在的视图,删除视图时,只能删除视图的定义,不会删除源表的数据。在 MySQL 中,使用 Drop View 语句删除视图时,用户必须拥有 Drop 权限。

删除视图的语法格式如下 :


http://www.kler.cn/a/292513.html

相关文章:

  • 云服务器端口开放
  • 【问卷调研】HarmonyOS SDK开发者社区用户需求有奖调研
  • react 受控组件和非受控组件
  • Docker 的安装与使用
  • CSP/信奥赛C++语法基础刷题训练(8):洛谷P5718:找最小值
  • Matplotlib库中show()函数的用法
  • Java笔试面试题AI答之JDBC(1)
  • C语言-数据结构 无向图普里姆Prim算法(邻接矩阵存储)
  • selenium连接远程chrome浏览器
  • MIT线性代数
  • 【java】将Map的value类型定义为Object
  • 第十五题:三数之和
  • rancher搭建k8s及jenkins自动化部署
  • 骨传导耳机哪款好?精选五款热门骨传导耳机分享让你避免踩雷
  • 对HashMap的理解
  • 使用本地预训练模型可视化卷积每一部分
  • 基于自适应多变量超扭转的 Lyapunov 重新设计 RLV 姿态控制
  • Facebook与区块链:构建更安全的社交网络生态
  • MFC dll无法显示tooltip问题
  • Java-数据结构-链表-习题(三)(๑´ㅂ`๑)
  • java开发简历详解
  • Dubbo缓存
  • HTML 基础知识详解与代码示例
  • C++笔记16•数据结构:关联式容器map和set•
  • Java健康养老智慧相伴养老护理小程序系统源码代办陪诊陪护更安心
  • 阿里云身份证二要素详细使用