数据库原理与应用 第 7 章 · 第二节
课程第 7 章第二节 建视图一表多表套一层图形界面看定义复制语句 版式
第 7 章 视图和索引 · 第二节

创建与查看视图

CREATE VIEW 的三种建法,以及两条看定义的命令。
本 节 知 识 点
  1. 06CREATE VIEW 的完整格式
  2. 07从一张表建,也能从几张表建
  3. 08视图上还能再建视图
  4. 09用 Workbench 建视图
  5. 10两条命令看视图长什么样
  6. 11从 Workbench 把定义抄出来
06
第 7 章 · 第二节

CREATE VIEW 的完整格式

必写的只有视图名和 AS 后面那句 SELECT。

第 6 页课件

关键术语

OR REPLACE替换
同名视图已经在了就覆盖掉,不报错
视图字段列表column list
给视图的列另起一套名字,不写就用查询的
WITH CHECK OPTION检查选项
往视图里改数据时,改完必须还在视图范围内

重 点

ALGORITHM 那一段基本不用写,交给 MySQL 自己决定怎么执行最划算。

07
第 7 章 · 第二节

从一张表建,也能从几张表建

AS 后面是一句完整的 SELECT,那句能怎么写这里就能怎么写。

第 7 页课件

重 点

多表视图要自己给列起名,因为几张表里可能有同名的列,机器分不清。

打个比方

像把常点的几样菜配成一个套餐,以后报套餐名就行,不用一样样念。

上机做

上机一第 2 题 建第一个视图

08
第 7 章 · 第二节

视图上还能再建视图

第二层视图从第一层里挑,挑出来的一定是第一层的子集。

第 8 页课件

试一试一层比一层少

下面那一层看得到的,永远是上面那一层的一部分。

重 点

套得越深查得越慢,因为每一层都要临时算一遍,一般不超过两层。

上机做

上机一第 5 题 套一层视图

09
第 7 章 · 第二节

用 Workbench 建视图

右键 Views 选 Create View,把语句贴进去按 Apply。

第 9 页课件

重 点

界面里最后提交的还是那句 CREATE VIEW,图形操作只是替你把语句拼出来。

知道更多对话框里的三段

上面是视图名,中间是 DDL 文本框,下面是执行日志,报错也在日志里。

想一想

既然界面最后也是发一句 SQL,为什么还要学着手写?

10
第 7 章 · 第二节

两条命令看视图长什么样

DESCRIBE 看它有哪几列,SHOW CREATE VIEW 看它那句定义。

第 10 页课件

分清楚两条命令各看什么

命令看到的东西
DESCRIBE 视图名列名与类型
SHOW CREATE VIEW当初那句 SELECT

重 点

DESCRIBE 对视图和对表长得一模一样,这正是视图用起来像张表的证据。

上机做

上机一第 6 题 两条命令看定义

11
第 7 章 · 第二节

从 Workbench 把定义抄出来

右键视图名,两步就能把定义复制到剪贴板。

第 11 页课件

重 点

抄出来的语句可以直接贴到另一个库里执行,视图就跟着搬过去了。

知道更多视图不能备份数据

搬过去的只是那句定义,基本表不跟着走,新库里没有表视图就用不了。

保山学院·人工智能教研室·曹鼎鼎