内容正文:
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编写专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第56卷,为课程综合卷,按《数据库原理与应用技术-MySQL》范围和要求编写。具体内容为:1.数据库基础知识;2.数据定义;3.数据查询;4.数据更新;5.索引;6.视图;7.MySQL数据库编程;8.数据库设计;9.数据库安全性
2027版河北省《计算机类考纲百套卷》 第56卷
《数据库原理与应用技术-MySQL》
数据库原理与应用技术(四) 课程综合卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.在关系代数中,从关系中取出满足指定条件的元组(行)的操作称为( )。
A. 投影 B. 选择 C. 连接 D. 笛卡尔积
2.下列关于“域(Domain)”的描述,正确的是( )。
A. 域是元组的取值范围
B. 域是关系的取值范围
C. 域是一组具有相同数据类型的值的集合,即属性的取值范围
D. 域是关键字的取值范围
3.在MySQL中,若要修改表结构,为已存在的表添加一个外键约束,应使用的SQL语句关键字是( )。
A. CREATE TABLE B. ALTER TABLE C. UPDATE TABLE D. MODIFY TABLE
4.参照完整性规则主要针对的是( )。
A. 主键约束 B. 外键约束 C. 用户定义约束 D. 非空约束
5. 关系模型中,实体完整性规则要求( )。
A. 外键的值不能为空 B. 主键的值不能为空且不能重复
C. 所有属性的值都不能为空 D. 关系中的元组个数不能为空
6.设有学生表S(学号,姓名,性别)和选课表SC(学号,课程号,成绩)。在SC表中,“学号”属性是( )。
A. 主键 B. 外键 C. 候选键 D. 超键
7.关于事务的ACID特性,下列描述对应“原子性(Atomicity)”的是( )。
A. 事务执行前后,数据库必须处于一致性状态
B. 一个事务中的所有操作要么全部完成,要么全部不完成,不会停滞在中间某个环节
C. 多个并发事务之间互不干扰
D. 事务一旦提交,对数据库中数据的改变就是永久性的
8.在数据库安全机制中,用于给用户授予权限的SQL语句是( )。
A. REVOKE B. GRANT C. CREATE USER D. SET PERMISSION
9.若需要将字符串'hello'转换为大写,并填充到长度为10的字符串中,左侧用'*'填充,应使用的函数组合是( )。
A. UPPER(LPAD('hello', 10, '*')) B. UCASE(RPAD('hello', 10, '*'))
C. UPPER(LPAD('hello', 5, '*')) D. UCASE(LPAD('hello', 10))
10.在统计学生身高时,关于MAX()和MIN()函数,下列说法错误的是( )。
A. 它们可以用于数值型字段
B. 它们可以用于字符型字段,按字典序比较
C. 它们可以用于日期型字段,按时间先后比较
D. 它们会自动忽略NULL值,但如果所有行都是NULL,则返回0
11.假设当前日期是 2025-10-05,执行 SELECT DATE_ADD('2025-10-05', INTERVAL 1 MONTH);的结果是( )。
A. 2025-11-05 B. 2025-11-04 C. 2025-11-30 D. 2025-10-31
12.关于 GROUP BY子句与聚合函数,以下说法正确的是( )。
A. SELECT列表中出现的每一列都必须包含在 GROUP BY子句中或作为聚合函数的参数
B. 使用 GROUP BY时,WHERE子句也可以使用聚合函数
C. HAVING子句用于在分组前过滤行,而 WHERE用于分组后过滤组
D. 可以在 GROUP BY子句中使用列别名
13.下列关于NOW()、CURDATE()和CURTIME()的区别,描述正确的是( )。
A. NOW()只返回日期,CURDATE()返回日期和时间
B. CURTIME()返回当前的时间戳(整数)
C. NOW()返回当前的日期和时间,CURDATE()只返回日期
D. 三个函数返回的结果完全相同
14. 关于聚合函数的嵌套使用,以下说法正确的是( )
SELECT MAX(AVG(score)) FROM student GROUP BY class_id;
A. 该SQL可以正确执行,返回所有班级中平均分最高的值
B. 该SQL会报错,MySQL不支持聚合函数直接嵌套
C. 该SQL等价于 SELECT MAX(score) FROM student
D. 该SQL可以执行,但返回的是每个班级的最高分
15.以下系统变量用于控制事件调度器的开启和关闭的是( )
A. event_scheduler B. event_queue_size
C. event_dispatcher D. scheduler
16. 在数据库设计中,如果关系模式R中消除了多值依赖,则属于( )。
A. 1NF B. 2NF C. 3NF D. 4NF
17.在MySQL中,关于触发器(Trigger)的描述,下列正确的是( )
A.触发器可以接收外部传入的参数,并根据参数执行不同的逻辑
B.触发器必须显式调用才能执行
C.触发器是一种特殊的存储过程,当特定事件如INSERT、UPDATE、DELETE发生时自动执行
D.一张数据表上只能创建一个触发器
18.下列关于MySQL事件(Event)的描述,正确的是( )。
A. 事件是基于数据表上的操作(如INSERT)被触发的
B. 事件也被称为“临时性触发器”,它是基于时间调度来执行特定任务的数据库对象
C. 事件一旦创建,无论事件调度器是否开启,都会自动执行
D. 事件主要用于维护数据的完整性约束
19.关于存储过程(Stored Procedure)和存储函数(Stored Function)的区别,下列说法错误的是( )。
A. 存储过程可以有IN、OUT、INOUT三种参数类型,而存储函数只能有IN参数
B. 存储过程不能直接返回一个值,但可以通过OUT参数带回多个值;存储函数必须通过RETURN语句返回一个值
C. 存储过程可以使用CALL语句调用,而存储函数可以像内置函数一样在SELECT语句中直接调用
D. 存储函数内部可以调用存储过程,而存储过程内部不能调用存储函数
20.在存储过程中,用于退出循环(如LOOP循环)的控制语句是( )。
A. BREAK B. EXIT C. LEAVE D. CONTINUE
2、 判断题(本大题共10小题,每题2分,共20分)
21.概念模型(如E-R图)是现实世界到机器世界的一个中间层次,它不依赖于具体的数据库管理系统(DBMS),主要用于数据库设计人员与用户之间的交流。( )
22.更新完整性是指数据库在进行插入、删除、修改操作时,DBMS会自动检查这些操作是否违反了实体完整性、参照完整性和用户定义的完整性,以保证数据库中数据的正确性和相容性。( )
23.域(Domain)在关系数据库中不仅定义了属性的数据类型,还可以包含对该属性取值范围的限制。( )
24.视图可以基于多个表创建,但这样的视图通常不可更新。( )
25.聚合函数COUNT(*)和COUNT(列名)的功能完全相同,执行效率也完全一样。( )
26.TRIM()函数不仅可以去除字符串两端的空格,还可以通过指定字符来去除两端特定的字符。( )
27.视图定义后,如果基础表增加了新字段,视图会自动包含这个新字段。( )
28.存储过程和存储函数在创建后,都会编译并存储在数据库服务器中,客户端调用时无需重新编译,执行效率较高。( )
29.在数据库设计中,第一范式(1NF)要求表中的每一个字段都必须是不可再分的原子值。( )
30.使用 GRANT 语句授予用户权限时,如果该用户不存在,系统会报错,必须先使用 CREATE USER 创建用户。( )
三、填空题(本大题共10个题,每小题2分,共20分)
31.数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、计算机硬件、软件以及 ______ 组成。
32.数据独立性是数据库系统的重要特点,它包括物理独立性和 ______ 独立性。
33.数据库系统的三级模式结构包括外模式、模式(概念模式)和 ______。
34.执行SELECT SUBSTRING('MySQL数据库', 6, 3), SUBSTRING('MySQL数据库', -3);结果为____________。
35.聚合函数__________在统计记录行数时,会包含值为NULL的行,而其他聚合函数(如SUM、AVG)通常会自动忽略NULL值。
36.若需要将NULL值替换为指定的默认值,应使用的函数是__________。
37.在创建视图时,使用 __________ 子句可以强制要求对视图的插入或更新操作必须满足视图定义中的WHERE条件。
38.在触发器中, ________关键字用于引用即将插入或更新后的新数据,而 __________ 关键字用于引用即将被删除或更新前的旧数据。
39.使用 GRANT 语句给用户授权时,如果希望该用户不仅能使用权限,还能将这些权限授予其他用户,需要在语句末尾加上 __________ 。
40.在MySQL的触发器中,OLD 和 NEW 关键字用于引用行数据。其中,NEW 关键字只能在 INSERT 触发器和 __________ 触发器中使用,而在 DELETE 触发器中是无法使用的。
四、程序填空题(本大题共1题,每空5分,共20分)
41.下列程序实现的功能是:创建名为 trg_salary_update 的行级触发器,在 employees 员工表执行更新操作后自动触发,逐行判断员工更新前后的薪资是否发生改变,一旦薪资出现变动,便自动将员工编号、原有薪资、最新薪资以及当前系统时间录入 salary_log 日志表中,薪资无变化则不执行日志记录操作,最后恢复默认结束符,以此实现对员工薪资修改行为的自动监控与变更信息留存。
DELIMITER $$
CREATE TRIGGER trg_salary_update
____(1)______ UPDATE ON employees
____(2)______
BEGIN
IF OLD.salary != NEW.salary THEN
INSERT INTO salary_log(emp_id, old_salary, new_salary, change_time)
VALUES (NEW.id, ___(3)_______, ___(4)_______, NOW());
END IF;
END$$
DELIMITER ;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编写专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第56卷,为课程综合卷,按《数据库原理与应用技术-MySQL》范围和要求编写。具体内容为:1.数据库基础知识;2.数据定义;3.数据查询;4.数据更新;5.索引;6.视图;7.MySQL数据库编程;8.数据库设计;9.数据库安全性
2027版河北省《计算机类考纲百套卷》 第56卷
《数据库原理与应用技术-MySQL》
数据库原理与应用技术(四) 课程综合卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.在关系代数中,从关系中取出满足指定条件的元组(行)的操作称为( )。
A. 投影 B. 选择 C. 连接 D. 笛卡尔积
【答案】B
【解析】选择(Selection)是从行的角度进行筛选;投影(Projection)是从列的角度选取属性。
2.下列关于“域(Domain)”的描述,正确的是( )。
A. 域是元组的取值范围
B. 域是关系的取值范围
C. 域是一组具有相同数据类型的值的集合,即属性的取值范围
D. 域是关键字的取值范围
【答案】C
【解析】域在关系模型中定义为属性的取值范围,是一组具有相同数据类型的值的集合。
3.在MySQL中,若要修改表结构,为已存在的表添加一个外键约束,应使用的SQL语句关键字是( )。
A. CREATE TABLE B. ALTER TABLE C. UPDATE TABLE D. MODIFY TABLE
【答案】B
【解析】修改表结构(包括添加、删除约束,修改字段等)使用的是ALTER TABLE语句。
4.参照完整性规则主要针对的是( )。
A. 主键约束 B. 外键约束 C. 用户定义约束 D. 非空约束
【答案】B
【解析】参照完整性是定义外键与主键之间的引用规则,确保外键的值必须来源于被参照表的主键值或为空。
5. 关系模型中,实体完整性规则要求( )。
A. 外键的值不能为空 B. 主键的值不能为空且不能重复
C. 所有属性的值都不能为空 D. 关系中的元组个数不能为空
【答案】B
【解析】实体完整性规则规定,若属性A是基本关系R的主属性(即主键的一部分),则属性A不能取空值(NULL)。主键用于唯一标识元组,若为空则无法标识。
6.设有学生表S(学号,姓名,性别)和选课表SC(学号,课程号,成绩)。在SC表中,“学号”属性是( )。
A. 主键 B. 外键 C. 候选键 D. 超键
【答案】B
【解析】在选课表SC中,主键通常是(学号,课程号)的组合。“学号”本身不是SC的主键,但它引用了学生表S的主键,因此在SC中它是外键。
7.关于事务的ACID特性,下列描述对应“原子性(Atomicity)”的是( )。
A. 事务执行前后,数据库必须处于一致性状态
B. 一个事务中的所有操作要么全部完成,要么全部不完成,不会停滞在中间某个环节
C. 多个并发事务之间互不干扰
D. 事务一旦提交,对数据库中数据的改变就是永久性的
【答案】B
【解析】A是一致性,C是隔离性,D是持久性。
8.在数据库安全机制中,用于给用户授予权限的SQL语句是( )。
A. REVOKE B. GRANT C. CREATE USER D. SET PERMISSION
【答案】B
【解析】GRANT 用于授权,REVOKE 用于撤销权限,CREATE USER 用于创建用户。
9.若需要将字符串'hello'转换为大写,并填充到长度为10的字符串中,左侧用'*'填充,应使用的函数组合是( )。
A. UPPER(LPAD('hello', 10, '*')) B. UCASE(RPAD('hello', 10, '*'))
C. UPPER(LPAD('hello', 5, '*')) D. UCASE(LPAD('hello', 10))
【答案】A
【解析】UPPER() 转大写;LPAD(字符串,总长度,填充符) 左侧填充,凑够 10 位用*补齐;
10.在统计学生身高时,关于MAX()和MIN()函数,下列说法错误的是( )。
A. 它们可以用于数值型字段
B. 它们可以用于字符型字段,按字典序比较
C. 它们可以用于日期型字段,按时间先后比较
D. 它们会自动忽略NULL值,但如果所有行都是NULL,则返回0
【答案】D
【解析】如果所有行都是NULL,或者表中没有记录,MAX和MIN返回的是NULL,而不是0。
11.假设当前日期是 2025-10-05,执行 SELECT DATE_ADD('2025-10-05', INTERVAL 1 MONTH);的结果是( )。
A. 2025-11-05 B. 2025-11-04 C. 2025-11-30 D. 2025-10-31
【答案】A
【解析】DATE_ADD和 ADDDATE函数在给日期加上一个月时,如果目标月份没有对应的日期(如1月31日加一个月到2月),MySQL会返回该月的最后一天。
12.关于 GROUP BY子句与聚合函数,以下说法正确的是( )。
A. SELECT列表中出现的每一列都必须包含在 GROUP BY子句中或作为聚合函数的参数
B. 使用 GROUP BY时,WHERE子句也可以使用聚合函数
C. HAVING子句用于在分组前过滤行,而 WHERE用于分组后过滤组
D. 可以在 GROUP BY子句中使用列别名
【答案】A
【解析】在GROUP BY查询中,SELECT列表中的非聚合列必须出现在GROUP BY子句中。
13.下列关于NOW()、CURDATE()和CURTIME()的区别,描述正确的是( )。
A. NOW()只返回日期,CURDATE()返回日期和时间
B. CURTIME()返回当前的时间戳(整数)
C. NOW()返回当前的日期和时间,CURDATE()只返回日期
D. 三个函数返回的结果完全相同
【答案】C
【解析】NOW() = YYYY-MM-DD HH:MM:SS,CURDATE() = YYYY-MM-DD,CURTIME() = HH:MM:SS。
14. 关于聚合函数的嵌套使用,以下说法正确的是( )
SELECT MAX(AVG(score)) FROM student GROUP BY class_id;
A. 该SQL可以正确执行,返回所有班级中平均分最高的值
B. 该SQL会报错,MySQL不支持聚合函数直接嵌套
C. 该SQL等价于 SELECT MAX(score) FROM student
D. 该SQL可以执行,但返回的是每个班级的最高分
【答案】B
【解析】MySQL不支持聚合函数直接嵌套,MAX(AVG(score)) 写法直接报错。
15.以下系统变量用于控制事件调度器的开启和关闭的是( )
A. event_scheduler B. event_queue_size
C. event_dispatcher D. scheduler
【答案】A
【解析】event_scheduler,可以设置为ON、OFF、DISABLED。
16.在数据库设计中,如果关系模式R中消除了多值依赖,则属于( )。
A. 1NF B. 2NF C. 3NF D. 4NF
【答案】D
【解析】4NF 定义:在满足BCNF基础上,消除所有非平凡多值依赖
17.在MySQL中,关于触发器(Trigger)的描述,下列正确的是( )
A.触发器可以接收外部传入的参数,并根据参数执行不同的逻辑
B.触发器必须显式调用才能执行
C.触发器是一种特殊的存储过程,当特定事件如INSERT、UPDATE、DELETE发生时自动执行
D.一张数据表上只能创建一个触发器
【答案】C
【解析】触发器是一种与表紧密联系的特殊存储过程,不接受参数,由数据库特定操作事件自动触发执行。一张表可以创建多个触发器。
18.下列关于MySQL事件(Event)的描述,正确的是( )。
A. 事件是基于数据表上的操作(如INSERT)被触发的
B. 事件也被称为“临时性触发器”,它是基于时间调度来执行特定任务的数据库对象
C. 事件一旦创建,无论事件调度器是否开启,都会自动执行
D. 事件主要用于维护数据的完整性约束
【答案】B
【解析】事件是基于时间调度的(类似Windows的计划任务),而触发器是基于表操作的。事件需要事件调度器(event_scheduler)开启才能运行。
19.关于存储过程(Stored Procedure)和存储函数(Stored Function)的区别,下列说法错误的是( )。
A. 存储过程可以有IN、OUT、INOUT三种参数类型,而存储函数只能有IN参数
B. 存储过程不能直接返回一个值,但可以通过OUT参数带回多个值;存储函数必须通过RETURN语句返回一个值
C. 存储过程可以使用CALL语句调用,而存储函数可以像内置函数一样在SELECT语句中直接调用
D. 存储函数内部可以调用存储过程,而存储过程内部不能调用存储函数
【答案】D
【解析】存储过程可以调用存储函数。
20.在存储过程中,用于退出循环(如LOOP循环)的控制语句是( )。
A. BREAK B. EXIT C. LEAVE D. CONTINUE
【答案】C
【解析】LEAVE 是 MySQL 中用于退出循环(LOOP、REPEAT、WHILE)的控制语句,也可以用于退出 BEGIN...END 块。
2、 判断题(本大题共10小题,每题2分,共20分)
21.概念模型(如E-R图)是现实世界到机器世界的一个中间层次,它不依赖于具体的数据库管理系统(DBMS),主要用于数据库设计人员与用户之间的交流。( )
【答案】对
【解析】概念模型(如 E-R 图)处于现实世界与逻辑模型之间,独立于任何具体 DBMS。
主要作用是便于设计人员与用户沟通,理解业务需求和数据关系。
22.更新完整性是指数据库在进行插入、删除、修改操作时,DBMS会自动检查这些操作是否违反了实体完整性、参照完整性和用户定义的完整性,以保证数据库中数据的正确性和相容性。( )
【答案】对
【解析】更新完整性是数据库完整性约束的一部分,DBMS 在用户执行 INSERT、DELETE、UPDATE 操作时会自动进行检查。
23.域(Domain)在关系数据库中不仅定义了属性的数据类型,还可以包含对该属性取值范围的限制。( )
【答案】对
【解析】域是属性的取值范围,既包含数据类型,也包含语义约束。
24.视图可以基于多个表创建,但这样的视图通常不可更新。( )
【答案】对
【解析】多表视图通常是不可更新的,因为对视图执行 INSERT、UPDATE、DELETE 时,数据库无法确定如何将更改正确映射到多个基表上。
25.聚合函数COUNT(*)和COUNT(列名)的功能完全相同,执行效率也完全一样。( )
【答案】错
【解析】无主键 / 冗余字段时,COUNT(*) 效率更高;COUNT(列) 会过滤 NULL,逻辑更重。
26.TRIM()函数不仅可以去除字符串两端的空格,还可以通过指定字符来去除两端特定的字符。( )
【答案】对
【解析】TRIM() 默认去除字符串两端的空格,也可以指定要去除的字符。
27.视图定义后,如果基础表增加了新字段,视图会自动包含这个新字段。( )
【答案】错
【解析】视图字段是创建时固定快照,基表新增字段,视图不会自动同步,需重新创建 / 修改视图才能生效。
28.存储过程和存储函数在创建后,都会编译并存储在数据库服务器中,客户端调用时无需重新编译,执行效率较高。( )
【答案】对
【解析】二者创建时编译存入数据库,调用直接执行,省去 SQL 语句语法解析、编译开销,执行效率更高。
29.在数据库设计中,第一范式(1NF)要求表中的每一个字段都必须是不可再分的原子值。( )
【答案】对
【解析】第一范式(1NF) 要求:关系中的每个属性值都是不可再分的原子值,不能包含重复组或组合属性。
30.使用 GRANT 语句授予用户权限时,如果该用户不存在,系统会报错,必须先使用 CREATE USER 创建用户。( )
【答案】错
【解析】在MySQL中,如果 GRANT 语句中指定的用户不存在,系统会自动创建该用户并授予权限。
三、填空题(本大题共10个题,每小题2分,共20分)
31.数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、计算机硬件、软件以及 ______ 组成。
【答案】数据库管理员
【解析】数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、计算机硬件、软件以及 数据库管理员(DBA) 组成。
32.数据独立性是数据库系统的重要特点,它包括物理独立性和 ______ 独立性。
【答案】逻辑
【解析】数据独立性分为两类:物理独立性:数据物理存储结构改变,应用程序不受影响
逻辑独立性:数据整体逻辑结构改变,应用程序不受影响
33.数据库系统的三级模式结构包括外模式、模式(概念模式)和 ______。
【答案】内模式
【解析】三级模式:外模式、模式、内模式。
34.执行SELECT SUBSTRING('MySQL数据库', 6, 3), SUBSTRING('MySQL数据库', -3);结果为____________。
【答案】'数据库'; '数据库'
【解析】SUBSTRING('MySQL数据库',6,3):从第 6 位开始截取 3 个字符,结果数据库。SUBSTRING('MySQL数据库',-3):负数从末尾倒数取 3 个字符,结果数据库。
35.聚合函数__________在统计记录行数时,会包含值为NULL的行,而其他聚合函数(如SUM、AVG)通常会自动忽略NULL值。
【答案】 COUNT(*)
【解析】COUNT(列名)会忽略该列的NULL值,但COUNT(*)统计的是总行数。
36.若需要将NULL值替换为指定的默认值,应使用的函数是__________。
【答案】IFNULL()
【解析】例如IFNULL(score, 0)表示如果score为NULL则返回0。
37.在创建视图时,使用 __________ 子句可以强制要求对视图的插入或更新操作必须满足视图定义中的WHERE条件。
【答案】WITH CHECK OPTION
【解析】该子句限定通过视图增改数据时,必须符合视图WHERE筛选条件,否则操作失败。
38.在触发器中, ________关键字用于引用即将插入或更新后的新数据,而 __________ 关键字用于引用即将被删除或更新前的旧数据。
【答案】NEW;OLD
【解析】NEW:代表插入 / 更新之后的新记录数据。OLD:代表删除 / 更新之前的原有旧记录数据
39.使用 GRANT 语句给用户授权时,如果希望该用户不仅能使用权限,还能将这些权限授予其他用户,需要在语句末尾加上 __________ 。
【答案】WITH GRANT OPTION
【解析】WITH GRANT OPTION:被授权用户拥有转授权限,可把获得的权限再授予其他数据库用户。
40.在MySQL的触发器中,OLD 和 NEW 关键字用于引用行数据。其中,NEW 关键字只能在 INSERT 触发器和 __________ 触发器中使用,而在 DELETE 触发器中是无法使用的。
【答案】UPDATE
【解析】NEW 关键字可以在 INSERT 和 UPDATE 两种触发器中使用。
四、程序填空题(本大题共1题,每空5分,共20分)
41.下列程序实现的功能是:创建名为 trg_salary_update 的行级触发器,在 employees 员工表执行更新操作后自动触发,逐行判断员工更新前后的薪资是否发生改变,一旦薪资出现变动,便自动将员工编号、原有薪资、最新薪资以及当前系统时间录入 salary_log 日志表中,薪资无变化则不执行日志记录操作,最后恢复默认结束符,以此实现对员工薪资修改行为的自动监控与变更信息留存。
DELIMITER $$
CREATE TRIGGER trg_salary_update
____(1)______ UPDATE ON employees
____(2)______
BEGIN
IF OLD.salary != NEW.salary THEN
INSERT INTO salary_log(emp_id, old_salary, new_salary, change_time)
VALUES (NEW.id, ___(3)_______, ___(4)_______, NOW());
END IF;
END$$
DELIMITER ;
【答案】
(1) AFTER
(2) FOR EACH ROW
(3) OLD.salary
(4) NEW.salary
【解析】OLD.salary:更新之前的员工工资,NEW.salary:更新之后的员工工资,判断:只有工资数值发生改变时,才执行插入日志操作。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$