内容正文:
专题九 视图
一、单项选择题
1.关于视图的描述,以下正确的是( )
A. 视图存储实际数据
B. 视图是基于表的虚表,仅存储定义
C. 视图只能基于单个表创建
D. 视图会降低查询性能
答案:B
解析:视图是虚表,仅存储定义,不存储实际数据,数据来源于基础表。
2.视图的优点是( )
A. 减少数据冗余
B. 提高数据插入速度
C. 简化复杂查询
D. 直接修改表结构
答案:C
解析:视图可以将多表复杂查询简化为单表操作,屏蔽底层复杂性。
3.创建视图时,若省略列名列表,视图的列名默认使用( )
A. 基础表的列名
B. 自动生成随机名称
C. SELECT语句结果集的列名
D. 必须手动指定
答案:C
解析:若未指定列名列表,视图列名与SELECT语句结果集的列名一致。
4.可以查看视图的定义文本的SQL语句是( )
A. SHOW TABLE STATUS LIKE '视图名';
B. DESC 视图名;
C. SELECT * FROM 视图名;
D. SHOW CREATE VIEW 视图名;
答案:D
解析:SHOW CREATE VIEW 用于查看视图的完整定义SQL语句。
5.通过视图更新数据时,以下说法正确的是( )
A. 视图可以无限制更新所有基础表
B. 若视图依赖多个表,无法通过视图插入数据
C. 更新视图会直接修改视图存储的数据
D. 视图的更新操作优先于基础表
答案:B
解析:当视图依赖多个基础表时,无法通过视图插入或删除数据。
6.修改视图的SQL语句是( )
A. MODIFY VIEW
B. UPDATE VIEW
C. ALTER VIEW
D. REVISE VIEW
答案:C
解析:ALTER VIEW 用于修改视图的定义,语法与CREATE VIEW类似。
7.删除视图的正确语法是( )
A. DELETE VIEW 视图名;
B. DROP VIEW 视图名;
C. REMOVE VIEW 视图名;
D. TRUNCATE VIEW 视图名;
答案:B
解析:DROP VIEW 是删除视图的标准语法。
8.创建视图时,使用 WITH CHECK OPTION 的作用是( )
A. 确保视图更新符合定义的条件
B. 允许视图存储数据
C. 强制视图使用索引
D. 禁止修改基础表结构
答案:A
解析:WITH CHECK OPTION 限制通过视图更新的数据必须满足视图定义的条件。
9.不能通过视图完成的操作是( )
A. 查询数据
B. 插入数据
C. 删除基础表
D. 更新数据
答案:C
解析:视图不能直接删除基础表,只能操作视图关联的数据。
10.关于视图的安全性,以下描述正确的是( )
A. 视图权限与基础表权限冲突
B. 视图无法进行权限控制
C. 视图会暴露所有基础表数据
D. 视图可以限制用户访问部分数据
答案:D
解析:通过视图可控制用户仅访问特定列或行,提升数据安全性。
二、判断题
1.视图的数据物理存储在数据库中。( )
答案:×
解析:视图是虚表,仅存储定义,数据来源于基础表。
2.使用 DESC 视图名; 可以查看视图的结构信息。( )
答案:√
解析:DESC 或 DESCRIBE 用于查看视图的列结构。
3.视图可以基于其他视图创建。( )
答案:√
解析:视图的定义可以包含其他视图或表的组合。
4.通过视图插入数据时,必须指定所有列的值。( )
答案:×
解析:若视图包含基础表的所有非空列且有默认值,可省略部分列。
5.WITH LOCAL CHECK OPTION 表示更新需满足所有相关视图和表的条件。( )
答案:×
解析:LOCAL 仅检查当前视图的条件,CASCADED 检查所有相关视图和表。
6.删除视图后,基础表的数据也会被删除。( )
答案:×
解析:删除视图仅删除定义,不影响基础表数据。
7.SHOW TABLE STATUS LIKE '视图名'; 可以查看视图的存储引擎。( )
答案:√
解析:该语句显示视图的基本信息,包括存储引擎。
8.修改视图必须使用 ALTER VIEW 语句。( )
答案:√
解析:修改视图定义需使用 ALTER VIEW 或重新创建视图。
9.视图的查询性能一定优于直接查询基础表。( )
答案:×
解析:视图性能取决于底层查询复杂度,可能因多表连接而降低效率。
10.通过视图删除数据时,若依赖多表,操作会失败。( )
答案:√
解析:当视图依赖多个基础表时,无法通过视图删除数据。
三、命令题
1.创建名为 v_employee 的视图,显示 employees 表中 name 和 department 列,并确保更新操作满足视图条件。
答案:
CREATE VIEW v_employee AS
SELECT name, department FROM employees
WITH CHECK OPTION;
2.查看视图 v_sales 的定义文本。
答案:
SHOW CREATE VIEW v_sales;
3.修改视图 v_customer,新增 email 列,并基于 customers 表重新定义。
答案:
ALTER VIEW v_customer AS
SELECT name, address, email FROM customers;
4.删除视图 v_temp,若视图不存在则不报错。
答案:
DROP VIEW IF EXISTS v_temp;
5.通过视图 v_orders 更新 order_date 为 '2023-10-01',条件为 order_id = 101。
答案:
UPDATE v_orders
SET order_date = '2023-10-01'
WHERE order_id = 101;
学科网(北京)股份有限公司
$$
专题九 视图
一、单项选择题
1.关于视图的描述,以下正确的是( )
A. 视图存储实际数据
B. 视图是基于表的虚表,仅存储定义
C. 视图只能基于单个表创建
D. 视图会降低查询性能
2.视图的优点是( )
A. 减少数据冗余
B. 提高数据插入速度
C. 简化复杂查询
D. 直接修改表结构
3.创建视图时,若省略列名列表,视图的列名默认使用( )
A. 基础表的列名
B. 自动生成随机名称
C. SELECT语句结果集的列名
D. 必须手动指定
4.可以查看视图的定义文本的SQL语句是( )
A. SHOW TABLE STATUS LIKE '视图名';
B. DESC 视图名;
C. SELECT * FROM 视图名;
D. SHOW CREATE VIEW 视图名;
5.通过视图更新数据时,以下说法正确的是( )
A. 视图可以无限制更新所有基础表
B. 若视图依赖多个表,无法通过视图插入数据
C. 更新视图会直接修改视图存储的数据
D. 视图的更新操作优先于基础表
6.修改视图的SQL语句是( )
A. MODIFY VIEW
B. UPDATE VIEW
C. ALTER VIEW
D. REVISE VIEW
7.删除视图的正确语法是( )
A. DELETE VIEW 视图名;
B. DROP VIEW 视图名;
C. REMOVE VIEW 视图名;
D. TRUNCATE VIEW 视图名;
8.创建视图时,使用 WITH CHECK OPTION 的作用是( )
A. 确保视图更新符合定义的条件
B. 允许视图存储数据
C. 强制视图使用索引
D. 禁止修改基础表结构
9.不能通过视图完成的操作是( )
A. 查询数据
B. 插入数据
C. 删除基础表
D. 更新数据
10.关于视图的安全性,以下描述正确的是( )
A. 视图权限与基础表权限冲突
B. 视图无法进行权限控制
C. 视图会暴露所有基础表数据
D. 视图可以限制用户访问部分数据
二、判断题
1.视图的数据物理存储在数据库中。( )
2.使用 DESC 视图名; 可以查看视图的结构信息。( )
3.视图可以基于其他视图创建。( )
4.通过视图插入数据时,必须指定所有列的值。( )
5.WITH LOCAL CHECK OPTION 表示更新需满足所有相关视图和表的条件。( )
6.删除视图后,基础表的数据也会被删除。( )
7.SHOW TABLE STATUS LIKE '视图名'; 可以查看视图的存储引擎。( )
8.修改视图必须使用 ALTER VIEW 语句。( )
9.视图的查询性能一定优于直接查询基础表。( )
10.通过视图删除数据时,若依赖多表,操作会失败。( )
三、命令题
1.创建名为 v_employee 的视图,显示 employees 表中 name 和 department 列,并确保更新操作满足视图条件。
2.查看视图 v_sales 的定义文本。
3.修改视图 v_customer,新增 email 列,并基于 customers 表重新定义。
4.删除视图 v_temp,若视图不存在则不报错。
5.通过视图 v_orders 更新 order_date 为 '2023-10-01',条件为 order_id = 101。
学科网(北京)股份有限公司
$$