内容正文:
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第42卷为考点训练卷,按《数据库原理与应用技术-MySQL》范围和要求编写。具体内容为:1.视图的概念;2.视图的作用3.创建视图的语句;4.查看视图的语句;5.修改视图的语句;6.更新视图数据的相关语句;7.删除视图的语句。
2027版河北省《计算机类考纲百套卷》 第42卷
《数据库原理与应用技术-MySQL》
视图 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.在MySQL数据库中,关于视图的物理存储特性,下列说法正确的是( )。
A. 视图和表一样,都会在硬盘上占用大量的物理空间来存储数据行
B. 视图是一个虚拟表,数据库中只存储其定义,不存储实际数据
C. 视图的数据是实时从基表中复制过来的,因此查询视图比查询基表更快
D. 视图只能基于单张基表创建,不能基于多张表的连接查询创建
2.以下选项中,( )不是视图的作用。
A. 简化复杂查询 B. 提供数据安全性
C. 提高数据查询性能 D. 提供逻辑数据独立性
3.删除视图的SQL语句是( )
A. DELETE VIEW view_name B. DROP VIEW view_name
C. REMOVE VIEW view_name D. ERASE VIEW view_name
4.在创建视图时,可以使用以下( )子句来限制用户只能查看视图的特定行。
A. WHERE B. GROUP BY C. ORDER BY D. LIMIT
5.以下关于视图的描述,错误的是( )
A. 视图可以基于其他视图创建 B. 视图可以包含ORDER BY子句
C. 视图可以创建索引 D. 视图可以存储数据
6.当基表数据发生变化时,视图中的数据会( )
A. 不会变化,因为视图是静态的
B. 会自动更新,因为视图是虚拟表,查询时实时从基表获取数据
C. 需要手动刷新视图
D. 取决于视图是否物化
7.在MySQL中,要修改视图的定义,可以使用以下( )方法。
A. 先DROP VIEW,再CREATE VIEW B. 使用ALTER VIEW
C. 两者都可以 D. 两者都不行,视图定义不能修改
8.关于WITH CHECK OPTION,以下说法正确的是( )
A. 它用于在创建视图时检查数据完整性
B. 它确保通过视图进行的修改必须符合视图的WHERE条件
C. 它用于创建检查约束
D. 它用于创建索引视图
9.以下命令中,可以查看数据库中所有视图的列表的是( )
A. SHOW TABLES B. SHOW VIEWS
C. SHOW FULL TABLES WHERE Table_type = 'VIEW' D. 以上都可以
10.关于视图的依赖关系,以下说法正确的是( )
A. 删除基表不会影响视图 B. 删除基表后,视图仍然可以查询
C. 删除基表后,视图会变为无效,查询时会报错 D. 视图不依赖于基表
11.关于视图的创建,以下说法正确的是( )
A. 视图只能基于表创建 B. 视图不能基于临时表创建
C. 视图可以基于其他视图创建 D. 视图不能包含子查询
12.现有视图 v_high_salary 是基于员工表创建的,其定义中包含 WHERE salary > 10000。如果希望确保通过该视图插入或修改的数据,其工资必须依然大于10000,否则拒绝操作,应该在创建视图时加上( )子句。
A. WITH CHECK OPTION B. WITH READ ONLY
C. WITH ENCRYPTION D. WITH SCHEMABINDING
13.下列关于视图的更新(UPDATE、INSERT、DELETE)操作,说法错误的是( )。
A. 如果视图定义中包含了聚合函数,则该视图不可更新
B. 如果视图定义中包含了 GROUP BY 或 DISTINCT 子句,则该视图不可更新
C. 任何视图只要拥有足够的权限,都可以随意进行增删改操作
D. 更新视图本质上是在更新视图所依赖的基表数据
14.执行语句 ALTER VIEW v_student AS SELECT id, name, age FROM student WHERE age > 18; 的作用是( )。
A. 在原有视图的基础上追加新的查询条件
B. 修改视图的定义,将其查询逻辑替换为新的SELECT语句
C. 修改视图的名称
D. 删除该视图并重新创建一张同名的表
15.删除数据库中名为 v_old_data 的视图,正确的SQL语句是( )。
A. DELETE VIEW v_old_data; B. DROP VIEW v_old_data;
C. REMOVE VIEW v_old_data; D. ALTER VIEW v_old_data DROP;
16.视图在数据库安全性方面的主要作用是( )。
A. 对视图中的数据进行高强度加密存储
B. 限制用户只能访问视图暴露的特定行或列,屏蔽基表中的敏感数据
C. 自动拦截所有针对视图的恶意SQL注入攻击
D. 视图可以代替数据库的账号密码认证机制
17.在MySQL中,如果基表 student 的结构发生了变更,那么基于该表创建的普通视图 v_student 会( )。
A. 自动同步基表的新字段到视图中 B. 报错并自动删除该视图
C. 依然保持原有的查询结构,不受基表新增字段的影响 D. 导致视图无法被查询
18.下列关于视图与表的区别,描述错误的是( )。
A. 表是物理存储数据的,视图是虚拟的
B. 对视图的查询最终会转换为对基表的查询
C. 视图可以像表一样建立各种物理索引来加速查询
D. 删除基表后,依赖该基表的视图将无法正常使用
19.如果试图删除一个不存在的视图 v_not_exist,且没有使用 IF EXISTS 子句,MySQL会( )。
A. 没有任何反应 B. 返回一个警告信息
C. 抛出错误,提示视图不存在 D. 自动创建一个空视图
20.修改视图定义的语句是( )
A. UPDATE VIEW B. MODIFY VIEW C. ALTER VIEW D. CHANGE VIEW
2、 判断题(本大题共10小题,每题2分,共20分)
21.视图是一个虚拟表,它不存储实际的数据。( )
22.视图的数据来源于基本表,当基本表数据变化时,视图内容会自动更新。( )
23.在MySQL中,创建视图使用 CREATE VIEW 语句。( )
24.视图可以基于多个表的连接查询创建。( )
25.创建视图时可以不指定列名,MySQL 会自动使用 SELECT 语句中的列名。( )
26.SHOW CREATE VIEW 语句可以查看视图的创建定义。( )
27.CREATE OR REPLACE VIEW 和 ALTER VIEW 都可以修改视图定义,效果完全相同。( )
28.包含聚合函数的视图不可以进行 INSERT、UPDATE、DELETE 操作。( )
29.通过视图对基本表数据进行修改时,修改会直接影响到基本表。( )
30.删除基本表后,视图仍然存在于数据库中,但查询会报错。( )
三、填空题(本大题共10个题,每题2分,共20分)
31.数据库中只存放视图的________,而视图对应的实际数据依然存放在原来的基表中。
32.删除视图 stu_view 的完整语句是: __________ 。
33.如果视图已存在,使用 CREATE __________ VIEW 语句可以替换原有视图。
34.创建视图时使用 WITH CHECK OPTION 子句,可以确保通过视图修改的数据必须满足视图的 __________ 条件。
35.查看视图的创建语句,应使用 __________ 。
36.如果视图包含聚合函数、GROUP BY、DISTINCT等,则该视图通常是______(可更新/不可更新)的。
37.在创建视图时,使用______子句可以过滤行,只显示满足条件的行。
38.在MySQL中,临时表______(可以/不可以)用于创建视图。
39.在视图的操作中,可以使用_________命令操作视图来删除基本表中的数据。
40.对视图执行 INSERT、UPDATE 或 DELETE 等更新操作,最终都会转换为对________的相应操作。
四、命令题(本大题共5题,每题4分,共20分)
41.创建一个名为v_students的视图,显示students表中所有年龄大于18岁的学生的id、name和age列。
42.修改视图v_students,使其只显示年龄大于20岁的学生,并且为视图的列分别指定别名为stu_id、stu_name、stu_age。
43.现有一张员工表 employees(包含字段:id, name, dept, salary)。请创建一个名为 v_it_emp 的视图,要求该视图只展示部门(dept)为 'IT部' 的员工编号、姓名和薪资。
44.创建一个视图v_student_count,显示students表中每个班级(class_id)的学生人数,列名为class_id和student_count。
45.删除视图v_teacher_info和v_student_count。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第42卷为考点训练卷,按《数据库原理与应用技术-MySQL》范围和要求编写。具体内容为:1.视图的概念;2.视图的作用3.创建视图的语句;4.查看视图的语句;5.修改视图的语句;6.更新视图数据的相关语句;7.删除视图的语句。
2027版河北省《计算机类考纲百套卷》 第42卷
《数据库原理与应用技术-MySQL》
视图 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.在MySQL数据库中,关于视图的物理存储特性,下列说法正确的是( )。
A. 视图和表一样,都会在硬盘上占用大量的物理空间来存储数据行
B. 视图是一个虚拟表,数据库中只存储其定义,不存储实际数据
C. 视图的数据是实时从基表中复制过来的,因此查询视图比查询基表更快
D. 视图只能基于单张基表创建,不能基于多张表的连接查询创建
【答案】B
【解析】视图是虚拟表,它本身不存储数据,只保存SQL查询逻辑。当查询视图时,数据库会动态执行其定义的SQL语句从基表中获取数据。
2.以下选项中,( )不是视图的作用。
A. 简化复杂查询 B. 提供数据安全性
C. 提高数据查询性能 D. 提供逻辑数据独立性
【答案】C
【解析】视图不存储数据,也不能靠视图本身提高查询性能;提升性能靠索引,不是视图。
3.删除视图的SQL语句是( )
A. DELETE VIEW view_name B. DROP VIEW view_name
C. REMOVE VIEW view_name D. ERASE VIEW view_name
【答案】B
【解析】 删除视图使用DROP VIEW view_name。
4.在创建视图时,可以使用以下( )子句来限制用户只能查看视图的特定行。
A. WHERE B. GROUP BY C. ORDER BY D. LIMIT
【答案】A
【解析】在创建视图的SELECT语句中使用WHERE子句可以过滤行,从而限制用户只能看到满足条件的行。
5.以下关于视图的描述,错误的是( )
A. 视图可以基于其他视图创建 B. 视图可以包含ORDER BY子句
C. 视图可以创建索引 D. 视图可以存储数据
【答案】D
【解析】视图是虚拟表,不存储数据
6.当基表数据发生变化时,视图中的数据会( )
A. 不会变化,因为视图是静态的
B. 会自动更新,因为视图是虚拟表,查询时实时从基表获取数据
C. 需要手动刷新视图
D. 取决于视图是否物化
【答案】B
【解析】视图是虚拟表,每次查询时实时从基表获取最新数据,因此基表数据变化会自动反映在视图中。
7.在MySQL中,要修改视图的定义,可以使用以下( )方法。
A. 先DROP VIEW,再CREATE VIEW B. 使用ALTER VIEW
C. 两者都可以 D. 两者都不行,视图定义不能修改
【答案】C
【解析】ALTER VIEW:MySQL 专门用来直接修改已有视图定义。先 DROP VIEW 再 CREATE VIEW:先删除旧视图,再重新创建同名视图,也能达到修改定义的效果。
8.关于WITH CHECK OPTION,以下说法正确的是( )
A. 它用于在创建视图时检查数据完整性
B. 它确保通过视图进行的修改必须符合视图的WHERE条件
C. 它用于创建检查约束
D. 它用于创建索引视图
【答案】B
【解析】WITH CHECK OPTION用于可更新视图,确保通过视图进行的插入或更新操作满足视图的WHERE条件,否则操作被拒绝。
9.以下命令中,可以查看数据库中所有视图的列表的是( )
A. SHOW TABLES B. SHOW VIEWS
C. SHOW FULL TABLES WHERE Table_type = 'VIEW' D. 以上都可以
【答案】C
【解析】SHOW TABLES会显示所有表和视图,但不会区分。SHOW FULL TABLES可以显示表类型,通过WHERE Table_type = 'VIEW'可以过滤出视图。SHOW VIEWS不是标准命令。
10.关于视图的依赖关系,以下说法正确的是( )
A. 删除基表不会影响视图 B. 删除基表后,视图仍然可以查询
C. 删除基表后,视图会变为无效,查询时会报错 D. 视图不依赖于基表
【答案】C
【解析】视图依赖于基表,如果基表被删除,则视图变为无效,查询时会报错。
11.关于视图的创建,以下说法正确的是( )
A. 视图只能基于表创建 B. 视图不能基于临时表创建
C. 视图可以基于其他视图创建 D. 视图不能包含子查询
【答案】C
【解析】 视图可以基于表或其他视图创建。视图可以基于临时表,但临时表存在时才能使用。视图可以包含子查询。
12.现有视图 v_high_salary 是基于员工表创建的,其定义中包含 WHERE salary > 10000。如果希望确保通过该视图插入或修改的数据,其工资必须依然大于10000,否则拒绝操作,应该在创建视图时加上( )子句。
A. WITH CHECK OPTION B. WITH READ ONLY
C. WITH ENCRYPTION D. WITH SCHEMABINDING
【答案】A
【解析】WITH CHECK OPTION 用于保证通过视图进行DML操作(增、改)时,数据必须满足视图定义中的 WHERE 条件,否则操作会失败。
13.下列关于视图的更新(UPDATE、INSERT、DELETE)操作,说法错误的是( )。
A. 如果视图定义中包含了聚合函数,则该视图不可更新
B. 如果视图定义中包含了 GROUP BY 或 DISTINCT 子句,则该视图不可更新
C. 任何视图只要拥有足够的权限,都可以随意进行增删改操作
D. 更新视图本质上是在更新视图所依赖的基表数据
【答案】C
【解析】并非所有视图都可更新。包含聚合函数、分组、去重、多表连接(部分情况)等复杂逻辑的视图通常是不可更新的。
14.执行语句 ALTER VIEW v_student AS SELECT id, name, age FROM student WHERE age > 18; 的作用是( )。
A. 在原有视图的基础上追加新的查询条件
B. 修改视图的定义,将其查询逻辑替换为新的SELECT语句
C. 修改视图的名称
D. 删除该视图并重新创建一张同名的表
【答案】B
【解析】ALTER VIEW 语句用于修改已存在视图的定义。
15.删除数据库中名为 v_old_data 的视图,正确的SQL语句是( )。
A. DELETE VIEW v_old_data; B. DROP VIEW v_old_data;
C. REMOVE VIEW v_old_data; D. ALTER VIEW v_old_data DROP;
【答案】B
【解析】删除视图的标准语法是 DROP VIEW 视图名;。
16.视图在数据库安全性方面的主要作用是( )。
A. 对视图中的数据进行高强度加密存储
B. 限制用户只能访问视图暴露的特定行或列,屏蔽基表中的敏感数据
C. 自动拦截所有针对视图的恶意SQL注入攻击
D. 视图可以代替数据库的账号密码认证机制
【答案】B
【解析】视图的安全作用:封装查询逻辑,限制用户访问特定行/列,隐藏基表的敏感字段。
17.在MySQL中,如果基表 student 的结构发生了变更,那么基于该表创建的普通视图 v_student 会( )。
A. 自动同步基表的新字段到视图中 B. 报错并自动删除该视图
C. 依然保持原有的查询结构,不受基表新增字段的影响 D. 导致视图无法被查询
【答案】C
【解析】基表新增字段后:视图不会自动带上新字段;视图定义不变,依然只查原来指定的字段。
18.下列关于视图与表的区别,描述错误的是( )。
A. 表是物理存储数据的,视图是虚拟的
B. 对视图的查询最终会转换为对基表的查询
C. 视图可以像表一样建立各种物理索引来加速查询
D. 删除基表后,依赖该基表的视图将无法正常使用
【答案】C
【解析】普通视图是虚拟的,不能直接在视图上建立物理索引。
19.如果试图删除一个不存在的视图 v_not_exist,且没有使用 IF EXISTS 子句,MySQL会( )。
A. 没有任何反应 B. 返回一个警告信息
C. 抛出错误,提示视图不存在 D. 自动创建一个空视图
【答案】C
【解析】直接 DROP VIEW 不存在的视图 会报错。为了程序的健壮性,通常建议使用 DROP VIEW IF EXISTS 视图名。
20.修改视图定义的语句是( )
A. UPDATE VIEW B. MODIFY VIEW C. ALTER VIEW D. CHANGE VIEW
【答案】C
【解析】修改视图定义使用 ALTER VIEW 语句,语法是:ALTER VIEW 视图名 AS SELECT 查询语句;。UPDATE 用于更新视图中的数据,ALTER TABLE 用于修改表结构。
2、 判断题(本大题共10小题,每题2分,共20分)
21.视图是一个虚拟表,它不存储实际的数据。( )
【答案】对
【解析】视图是基于 SELECT 语句定义的虚拟表。每次查询视图时,MySQL 会执行这个 SELECT 语句从基本表中获取数据。视图本身不占用数据存储空间,只占用少量元数据存储。
22.视图的数据来源于基本表,当基本表数据变化时,视图内容会自动更新。( )
【答案】对
【解析】视图的内容是动态生成的,依赖于基本表。当基本表中的数据被插入、更新或删除时,下次查询视图时会立即看到这些变化。
23.在MySQL中,创建视图使用 CREATE VIEW 语句。( )
【答案】对
【解析】创建视图的标准语法是 CREATE VIEW 视图名 AS SELECT 查询语句;。
24.视图可以基于多个表的连接查询创建。( )
【答案】对
【解析】视图可以基于非常灵活的 SELECT 语句创建,包括单表查询、多表连接查询、子查询等多种形式。
25.创建视图时可以不指定列名,MySQL 会自动使用 SELECT 语句中的列名。( )
【答案】对
【解析】创建视图时可以省略列名列表,MySQL 会默认使用 SELECT 语句中返回的列名作为视图的列名。
26.SHOW CREATE VIEW 语句可以查看视图的创建定义。( )
【答案】对
【解析】SHOW CREATE VIEW 视图名; 可以显示视图的完整创建语句,包括视图定义、字符集信息等。
27.CREATE OR REPLACE VIEW 和 ALTER VIEW 都可以修改视图定义,效果完全相同。( )
【答案】错
【解析】两者都可以修改视图定义,但有细微区别:CREATE OR REPLACE VIEW 如果视图不存在会创建,存在时替换;ALTER VIEW 只用于修改已存在的视图,如果视图不存在会报错。
28.包含聚合函数的视图不可以进行 INSERT、UPDATE、DELETE 操作。( )
【答案】对
【解析】包含聚合函数(如 COUNT、SUM等)的视图是不可更新的,因为聚合后的数据无法"分解"回原始行进行插入或更新。
29.通过视图对基本表数据进行修改时,修改会直接影响到基本表。( )
【答案】对
【解析】视图本身不存储数据,对视图的更新操作会实际作用于视图背后的基本表。
30.删除基本表后,视图仍然存在于数据库中,但查询会报错。( )
【答案】对
【解析】视图依赖基本表而存在。当基本表被删除后,视图的定义仍然保留在数据库中,但查询视图时会报错,因为数据来源已经不存在了。
三、填空题(本大题共10个题,每题2分,共20分)
31.数据库中只存放视图的________,而视图对应的实际数据依然存放在原来的基表中。
【答案】定义
【解析】视图是虚拟表,本身不存储真实业务数据。数据库仅保存视图的定义信息,也就是创建视图时的 SELECT 查询语句。
32.删除视图 stu_view 的完整语句是: __________ 。
【答案】DROP VIEW stu_view;
【解析】删除视图使用 DROP VIEW 语句。
33.如果视图已存在,使用 CREATE __________ VIEW 语句可以替换原有视图。
【答案】OR REPLACE
【解析】 CREATE OR REPLACE VIEW 语法:如果视图存在则替换,不存在则创建。
34.创建视图时使用 WITH CHECK OPTION 子句,可以确保通过视图修改的数据必须满足视图的 __________ 条件。
【答案】WHERE
【解析】WITH CHECK OPTION 会检查 INSERT/UPDATE 的数据是否满足视图定义中的 WHERE 条件。
35.查看视图的创建语句,应使用 __________ 。
【答案】SHOW CREATE VIEW 视图名;
【解析】SHOW CREATE VIEW 视图名; 用于查看视图的创建定义。
36.如果视图包含聚合函数、GROUP BY、DISTINCT等,则该视图通常是______(可更新/不可更新)的。
【答案】不可更新
【解析】包含聚合、分组、去重等的视图通常不可更新。
37.在创建视图时,使用______子句可以过滤行,只显示满足条件的行。
【答案】WHERE
【解析】在视图定义的SELECT语句中使用WHERE子句。
38.在MySQL中,临时表______(可以/不可以)用于创建视图。
【答案】可以
【解析】可以基于临时表创建视图,但临时表存在时才能使用视图。
39.在视图的操作中,可以使用_________命令操作视图来删除基本表中的数据。
【答案】DELETE
【解析】对可更新视图执行 DELETE 操作,本质会同步删除底层基本表中的数据。
40.对视图执行 INSERT、UPDATE 或 DELETE 等更新操作,最终都会转换为对________的相应操作。
【答案】基表
【解析】对可更新视图做 INSERT / UPDATE / DELETE,本质都会被数据库自动转换为对底层基本表(基表) 的增删改操作。
四、命令题(本大题共5题,每题4分,共20分)
41.创建一个名为v_students的视图,显示students表中所有年龄大于18岁的学生的id、name和age列。
【答案】CREATE VIEW v_students AS SELECT id, name, age FROM students WHERE age > 18;
【解析】创建视图使用CREATE VIEW ... AS SELECT ...,通过WHERE条件过滤年龄大于18的学生。
42.修改视图v_students,使其只显示年龄大于20岁的学生,并且为视图的列分别指定别名为stu_id、stu_name、stu_age。
【答案】ALTER VIEW v_students (stu_id, stu_name, stu_age) AS SELECT id, name, age
FROM students WHERE age > 20;
【解析】使用ALTER VIEW修改视图定义,可以指定列别名。CREATE OR REPLACE VIEW也可以,但注意MySQL中CREATE OR REPLACE VIEW是支持的。
43.现有一张员工表 employees(包含字段:id, name, dept, salary)。请创建一个名为 v_it_emp 的视图,要求该视图只展示部门(dept)为 'IT部' 的员工编号、姓名和薪资。
【答案】CREATE VIEW v_it_emp AS SELECT id, name, salary FROM employees WHERE dept = 'IT部';
【解析】SELECT id, name, salary:只选取员工编号、姓名、薪资三个字段;WHERE dept = 'IT部':筛选出部门为 IT 部 的员工。
44.创建一个视图v_student_count,显示students表中每个班级(class_id)的学生人数,列名为class_id和student_count。
【答案】CREATE VIEW v_student_count AS SELECT class_id, COUNT(*) AS student_count
FROM students GROUP BY class_id;
【解析】使用了聚合函数COUNT和GROUP BY分组,因此是不可更新的。它用于统计信息展示,不能通过它来修改基表数据。
45.删除视图v_teacher_info和v_student_count。
【答案】DROP VIEW v_teacher_info, v_student_count;
【解析】使用DROP VIEW可以一次删除多个视图,用逗号分隔视图名。删除视图不会影响基表的数据。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$