内容正文:
专题九 视图
数据库原理与应用技术-MySQL
专题复习讲练测
河北科学技术出版社
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
考纲要求
一
1.理解视图的概念;
2.掌握视图的作用;
3.掌握创建视图的语句:CREATEVIEW...AS SELECT;
4.掌握查看视图的语句:SHOW CREATEVIEW;
5.掌握修改视图的语句:ALTERVIEW;
6.掌握更新视图数据的相关语句:INSERT、UPDATE、DELETE;
7.掌握删除视图的语句:DROPVIEW。
知识点梳理
二
视图
视图是从一个或多个表(或视图)中导出来的数据库对象,视图可以像表一样使用。
➽ 数据库中仅存储视图的定义,不存储视图的数据,视图是基于基础表导出的虚表。
➽视图定义 后,可以像操作基本表一样进行查询、添加、修改和删除操作。
知识点梳理
二
优点和作用
简单性
安全性
逻辑数据独立性
知识点梳理
二
创建视图
CREATE VIEW语句
➽
CREATE VIEW 视图名[(列1[,列2, …n])] AS
SELECT 语 句
[WITH[CASCADED|LOCAL]CHECK OPTION];
(1)视图名应符合标识符的命令规则。
(2)(列1[,列2, …n]) 用于指定视图中各列的名称,这里指定的列名与SELECT语句结果集的列一一对应。若省略列名列表,将直接使用SELECT语句中的列名称。
(3)SELECT 语句用于定义视图,SELECT语句中可以使用多个表或其他视图。
(4)[WITH[CASCADEDILOCAL]CHECK OPTION]为可选参数,表示要保证在该视图的限 权范围之内更新视图。其中CASCADED是默认值,表示更新视图时要满足所有相关视图和 表的条件。LOCAL表示更新视图时要满足该视图本身定义的条件。
知识点梳理
二
查看视图
SHOW TABLE STATUS语句
➽
SHOW TABLE STATUS LIKE '视图名 ' ;
DESCRIBE '视图名'/DESC '视图名'
➽
SHOW CREATE VIEW '视 图 名 ' ;
知识点梳理
二
使用视图
使用UPDATE 语句通过更新视图来更新基本表
➽
UPDATE 视 图 名
SET 列名1=值1,列名2=值2, … ,列名n=值n WHERE 条件表达式;
使用相关语句创建索引时,其各参数与 UPDATE 语句参数相同。虽然可借助更新视图来操作基本表数据,但存在较多限制。因此在实际应用中,建议仅把视图当作查询数据的虚表,不要用于更新数据。
知识点梳理
二
使用视图
使用INSERT 语句更新视图向基本表插入数据
➽
INSERT [INTO] 视图名[(列名列表)]
VALUES(值列表1)[,(值列表2),…,(值列表n)];
知识点梳理
二
使用视图
通过DELETE 语句更新视图来删除基本表中的数据
➽
DELETE FROM 视图名 [WHERE 条件表达式];
当视图所依赖的基本表有多个时,不能通过视图插入和删除数据。
知识点梳理
二
修改视图
使用ALTER VIEW语句可以修改视图
➽
ALTER VIEW 视图名[(列1[,列2, …n])] AS
SELECT 语 句
[WITH[CASCADED|LOCAL]CHECK OPTION];
知识点梳理
二
删除视图
使用DROP VIEW语句可以删除视图
➽
DROP VIEW [IF EXISTS] 视 图 名 ;
其中,IF EXISTS为可选参数,用于判断视图是否存在,如果存在则执行,不存在则不 执行 。
限时练习
三
1.在 MySQL 中,使用 CREATE VIEW 语句创建视图时,若省略视图列名列表,会( )
A. 创建失败
B. 使用默认列名
C. 直接使用 SELECT 语句中的列名称
D. 随机生成列名
答案:C
限时练习
三
2.以下关于视图更新数据的说法,正确的是( )
A. 视图更新数据没有任何限制
B. 当视图所依赖的基本表有多个时,也能通过视图插入和删除数据
C. 可以使用 UPDATE 语句通过视图更新基本表数据,但限制较多
D. 视图只能查询数据,不能更新数据
答案:C
限时练习
三
3.使用 SHOW CREATE VIEW 语句的作用是( )
A. 查看视图的定义文本
B. 查看视图的结构信息
C. 查看视图的基本信息
D. 创建视图
答案:A
限时练习
三
4.关于视图的优点,以下说法错误的是( )
A. 视图可以屏蔽基本表的表结构变化带来的影响,体现逻辑数据独立性
B. 视图权限设置与其关联的基本表的权限设置相互影响
C. 视图可以将多个表的数据集中在一起,简化用户对数据的查询和处理
D. 通过视图可以更方便地进行权限控制
答案:B
限时练习
三
5.修改视图使用的 SQL 语句是( )
A. CREATE VIEW
B. DROP VIEW
C. ALTER VIEW
D. UPDATE VIEW
答案:C
限时练习
三
6.视图是基于基础表导出的虚表,数据库中既存储视图的定义,也存储视图的数据。( )
答案:×
7.使用 DESCRIBE 语句可以查看视图的基本信息。( )
答案:×
限时练习
三
8.在创建视图时,WITH CHECK OPTION 的默认值是 CASCADED。( )
答案:√
9.在 SQL 语句中使用 DROP VIEW 语句删除视图时,IF EXISTS是可选参数。( )
答案:√
限时练习
三
10.创建一个名为student_view的视图,从students表中选取student_id、student_name和age列,写出创建视图的 SQL 语句。
答案:
CREATE VIEW student_view AS
SELECT student_id, student_name, age
FROM students;
限时练习
三
11.查看名为employee_view的视图的定义文本,写出对应的 SQL 语句。
答案:
SHOW CREATE VIEW 'employee_view';
限时练习
三
12.使用 UPDATE 语句通过product_view视图将product_name为 'Apple' 的产品的price更新为 100,写出 SQL 语句。
答案:
UPDATE product_view
SET price = 100
WHERE product_name = 'Apple';
限时练习
三
13.修改名为customer_view的视图,使其从customers表中选取customer_id、customer_name、phone和email列,写出修改视图的 SQL 语句。
答案:
ALTER VIEW customer_view AS
SELECT customer_id, customer_name, phone, email
FROM customers;
限时练习
三
14 删除名为order_view的视图,写出 SQL 语句。
答案:
DROP VIEW [IF EXISTS] 'order_view';
谢谢
$$