第40卷 数据库原理与应用技术—事件与事件调度器—河北省计算机类—考纲百套卷
|
2份
|
13页
|
43人阅读
|
0人下载
内容正文:
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第40卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷18——事件与事件调度器"范围和要求编写。具体内容为:掌握事件、事件调度器的基本概念与作用,掌握使用SQL语句创建、修改、删除事件的操作方法及应用
河北省对口招生职业技能考试
数据库原理与应用技术 试卷
(数据库卷18——事件与事件调度器)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. MySQL事件调度器中,EVERY子句的作用是()
A.指定事件名称 B.指定事件执行频率(周期性执行) C.声明事件变量 D.结束事件
【答案】B
【解析】EVERY子句是ON SCHEDULE子句的补充,用于指定事件的执行频率(周期性执行),例如EVERY 1 DAY表示每天执行一次。
2. MySQL事件调度器(Event Scheduler)的主要功能是()
A.备份数据库 B.按计划自动执行SQL语句或存储过程 C.监控查询性能 D.管理用户权限
【答案】B
【解析】事件调度器的核心功能是按预设的时间和频率,自动执行指定的SQL语句或存储过程,无需手动触发。
3. MySQL事件调度器中,ON SCHEDULE子句用于指定()
A.事件名称 B.事件的执行时间和频率 C.事件内容 D.事件创建者
【答案】B
【解析】ON SCHEDULE是创建事件的核心子句,用于指定事件的执行时间(单次执行)或执行频率(周期性执行)。
4. MySQL事件中,DO子句的作用是()
A.声明事件参数 B.指定事件名称 C.指定事件要执行的SQL语句或存储过程 D.设置事件执行时间
【答案】C
【解析】DO子句用于指定事件触发时要执行的具体SQL语句(单条),若需执行多条语句,需配合BEGIN...END使用。
5. MySQL中,创建事件的语句使用()关键字
A.PROCEDURE B.TRIGGER C.EVENT D.SCHEDULE
【答案】C
【解析】创建事件的标准语法为CREATE EVENT 事件名 ON SCHEDULE ... DO ...,核心关键字为EVENT;PROCEDURE用于创建存储过程,TRIGGER用于创建触发器。
6. 在MySQL中,开启事件调度器的命令是()
A.SET EVENT = ON B.SET GLOBAL event_scheduler = ON C.ENABLE EVENT D.START EVENT
【答案】B
【解析】开启事件调度器的标准命令是SET GLOBAL event_scheduler = ON;该设置仅临时生效,重启MySQL后会恢复默认状态。
7. 在MySQL中,查看事件调度器状态,应使用()
A.SHOW EVENTS B.SHOW EVENT STATUS C.SHOW CREATE EVENT D.SHOW VARIABLES LIKE 'event_scheduler'
【答案】D
【解析】SHOW VARIABLES LIKE 'event_scheduler' 可查看事件调度器的当前状态(ON/OFF);SHOW EVENTS用于查看已创建的事件列表。
8. 在MySQL中,删除事件的命令是()
A.DROP EVENT B.DELETE EVENT C.REMOVE EVENT D.DROP SCHEDULE
【答案】A
【解析】删除事件的标准命令是DROP EVENT,语法为DROP EVENT IF EXISTS 事件名;其余选项均为错误语法。
9. MySQL中,ALTER EVENT的作用是()
A.创建事件 B.删除事件 C.修改已有事件的定义 D.查看事件
【答案】C
【解析】ALTER EVENT用于修改已存在事件的定义,包括执行时间、执行内容、事件状态等;创建事件用CREATE EVENT,删除用DROP EVENT。
10. MySQL事件调度器默认是()状态
A.ON B.OFF C.DISABLED D.ACTIVE
【答案】B
【解析】MySQL事件调度器默认处于关闭(OFF)状态,需手动执行开启命令才能使用事件功能。
11. 下列关于MySQL事件的说法,正确的是()
A.事件只能执行单次 B.事件可以手动触发执行 C.事件必须依赖触发器才能执行 D.事件执行的SQL语句可以是增删改查操作
【答案】D
【解析】A错误,事件可设置单次执行或周期性执行;B错误,事件由事件调度器自动触发,不能手动触发;C错误,事件独立于触发器,无需依赖触发器;D正确,事件中可执行INSERT、DELETE、UPDATE、SELECT等各类SQL语句。
12. MySQL中,创建周期性事件时,下列语法格式正确的是()
A.CREATE EVENT e1 ON SCHEDULE EVERY 1 HOUR DO INSERT INTO t1 VALUES(1); B.CREATE EVENT e1 EVERY 1 HOUR DO INSERT INTO t1 VALUES(1); C.CREATE EVENT e1 ON SCHEDULE 1 HOUR DO INSERT INTO t1 VALUES(1); D.CREATE EVENT e1 ON SCHEDULE EVERY 1 HOUR INSERT INTO t1 VALUES(1);
【答案】A
【解析】创建周期性事件的标准语法需包含ON SCHEDULE EVERY 频率,且必须有DO子句指定执行内容,其余选项均缺少必要关键字。
13. MySQL中,若要让事件在指定时间单次执行,应使用()子句配合ON SCHEDULE
A.EVERY B.AT C.IN D.FOR
【答案】B
【解析】ON SCHEDULE AT 具体时间,用于指定事件单次执行的时间;IN 用于指定多久后执行一次(单次),EVERY用于周期性执行。
14. 下列关于事件调度器的说法,错误的是()
A.事件调度器开启后,会自动检测并执行符合条件的事件 B.事件调度器的状态可通过SQL命令修改 C.关闭事件调度器后,已创建的事件会被删除 D.事件调度器是MySQL自带的功能,无需额外安装
【答案】C
【解析】关闭事件调度器后,已创建的事件不会被删除,只是暂时停止自动执行;重新开启调度器后,符合条件的事件会继续执行。
15. MySQL中,查看指定事件(如e_test)详细定义的命令是()
A.SHOW EVENT e_test; B.DESCRIBE EVENT e_test; C.SHOW CREATE EVENT e_test; D.LIST EVENT e_test;
【答案】C
【解析】SHOW CREATE EVENT 事件名; 可查看指定事件的详细定义,包括执行时间、执行内容、事件状态等;其余选项均为错误语法。
16. MySQL中,若要禁用某个已创建的事件(不删除),应使用()
A.DROP EVENT B.ALTER EVENT 事件名 DISABLE C.DELETE EVENT D.SET EVENT 事件名 = OFF
【答案】B
【解析】ALTER EVENT 事件名 DISABLE 可禁用指定事件,禁用后事件调度器不再执行该事件;启用可使用ALTER EVENT 事件名 ENABLE。
17. MySQL事件中,若需执行多条SQL语句,应使用()包裹语句块
A.{} B.[] C.BEGIN...END D.();
【答案】C
【解析】当事件需要执行多条SQL语句时,需用BEGIN...END包裹语句块,每条语句末尾加分号分隔。
18. 下列哪种情况,MySQL事件不会自动执行()
A.事件调度器处于ON状态 B.事件处于ENABLED状态 C.事件的执行时间未到 D.事件定义正确且无语法错误
【答案】C
【解析】事件自动执行的前提:调度器开启(ON)、事件启用(ENABLED)、定义正确、执行时间已到;执行时间未到则不会触发执行。
19. MySQL中,创建事件时,指定事件在每天凌晨2点执行,正确的ON SCHEDULE子句是()
A.ON SCHEDULE EVERY 1 DAY AT '02:00:00' B.ON SCHEDULE AT '02:00:00' C.ON SCHEDULE EVERY 24 HOURS AT '02:00:00' D.ON SCHEDULE EVERY DAY AT '02:00:00'
【答案】A
【解析】每天凌晨2点执行属于周期性事件,需用EVERY 1 DAY指定频率,配合AT指定具体时间;其余选项语法错误或不符合需求。
20. 关于MySQL事件与存储过程的关系,下列说法正确的是()
A.事件不能调用存储过程 B.事件可以调用存储过程,实现复杂逻辑 C.存储过程必须依赖事件才能执行 D.事件和存储过程完全相同,可互换使用
【答案】B
【解析】A错误,事件可以通过DO子句调用存储过程;C错误,存储过程可手动调用,无需依赖事件;D错误,事件是自动执行的计划任务,存储过程是手动/自动调用的语句块,功能不同;B正确,事件调用存储过程可实现更复杂的业务逻辑。
二、填空题(共10空,每空1分,共10分)
21. MySQL中,删除事件的命令是DROP_____。
【答案】EVENT
【解析】删除事件的标准命令是DROP EVENT,语法为DROP EVENT IF EXISTS 事件名。
22. MySQL事件调度器默认是_____状态(ON/OFF)。
【答案】OFF
【解析】MySQL事件调度器默认处于关闭状态,需手动执行SET GLOBAL event_scheduler = ON开启。
23. MySQL中,开启事件调度器的命令是SET GLOBAL event_scheduler = _____。
【答案】ON
【解析】开启事件调度器的核心命令,将event_scheduler变量设置为ON即可启用调度功能。
24. MySQL事件中,_____子句指定事件触发时要执行的SQL语句。
【答案】DO
【解析】DO子句是事件中指定执行内容的核心子句,单条SQL语句直接跟在DO后,多条语句需用BEGIN...END包裹。
25. MySQL创建事件时,ON SCHEDULE子句用于指定事件的执行_____。
【答案】时间和频率
【解析】ON SCHEDULE子句可指定事件是单次执行(AT/IN)还是周期性执行(EVERY),即执行的时间和频率。
26. MySQL中,创建事件的关键字是CREATE_____。
【答案】EVENT
【解析】创建事件的标准语法开头为CREATE EVENT,后续跟随事件名、执行时间和执行内容。
27. MySQL中,修改已有事件的命令是ALTER_____。
【答案】EVENT
【解析】ALTER EVENT命令可修改事件的执行时间、执行内容、事件状态(启用/禁用)等。
28. MySQL事件中,周期性执行需使用_____子句配合ON SCHEDULE。
【答案】EVERY
【解析】ON SCHEDULE EVERY 频率,用于设置事件的周期性执行,例如EVERY 1 WEEK表示每周执行一次。
29. MySQL中,查看所有已创建事件的命令是SHOW_____。
【答案】EVENTS
【解析】SHOW EVENTS命令可查看当前数据库中所有已创建的事件列表,包括事件名、执行时间、状态等信息。
30. MySQL事件中,若需执行多条SQL语句,需用_____...END包裹语句块。
【答案】BEGIN
【解析】多条SQL语句需放在BEGIN和END之间,构成语句块,才能被事件正常执行。
三、判断题(共5题,每题1分,共5分)
31. MySQL中,CREATE EVENT用于创建事件。( )
【答案】√
【解析】创建事件的标准SQL语句为CREATE EVENT,后续指定事件名、执行时间和执行内容。
32. MySQL事件调度器必须在操作系统中安装才能使用。( )
【答案】×
【解析】事件调度器是MySQL数据库自带的功能,无需在操作系统中额外安装,开启后即可使用。
33. MySQL中,ALTER EVENT可以修改已存在事件的执行时间。( )
【答案】√
【解析】ALTER EVENT命令可修改已创建事件的所有定义,包括执行时间、执行内容、事件状态等。
34. MySQL事件调度器默认是开启的。( )
【答案】×
【解析】MySQL事件调度器默认处于关闭(OFF)状态,需手动执行开启命令才能启用。
35. MySQL中,事件可以手动触发执行。( )
【答案】×
【解析】事件是由事件调度器按预设时间自动触发执行的,无法手动直接触发;若需立即执行事件内容,可手动执行事件中的SQL语句或调用其关联的存储过程。
四、写命令题(共5题,每题9分,共45分)
36. 请写出开启MySQL事件调度器,并创建事件e_insert_log,每周日执行一次,在日志表log_table中插入一条当前日期的记录(logtime字段)。
【答案】
SET GLOBAL event_scheduler = ON;
CREATE EVENT e_insert_log
ON SCHEDULE EVERY 1 WEEK
DO INSERT INTO log_table(logtime) VALUES(NOW());
【解析】本题考事件调度器的开启(SET GLOBAL)和EVERY...WEEK周期性事件创建。
37. 请写出创建一个事件e_daily_task,每天凌晨2点执行一次,调用存储过程p_daily_cleanup()。
【答案】
CREATE EVENT e_daily_task
ON SCHEDULE EVERY 1 DAY STARTS '2025-01-01 02:00:00'
DO CALL p_daily_cleanup();
【解析】本题考CREATE EVENT语句,EVERY指定周期,STARTS指定开始时间,DO调用存储过程。
38. 已知有商品表product(pid INT PRIMARY KEY, pname VARCHAR(50), stock INT),请用触发器实现:当向订单表orderlist(oid INT, pid INT, qty INT)中插入订单时,自动将对应商品的库存减少相应数量。
【答案】
CREATE TRIGGER t_after_insert_order
AFTER INSERT ON orderlist
FOR EACH ROW
UPDATE product SET stock = stock - NEW.qty WHERE pid = NEW.pid;
【解析】本题考INSERT触发器的创建,NEW关键字引用新插入记录,使用FOR EACH ROW行级触发。
39. 请写出使用mysqldump备份数据库mydb的表t1和t2的命令。
【答案】
mysqldump -u root -p mydb t1 t2 > tables_backup.sql
【解析】mysqldump可以只备份指定表。
40. 已知商品表goods(gid INT PRIMARY KEY, gname VARCHAR(50), price DECIMAL(10,2), stock INT),请写出SQL命令:将库存为0的所有商品的库存修改为100。
【答案】
UPDATE goods SET stock = 100 WHERE stock = 0;
【解析】本题考查UPDATE语句的条件更新,考查内容关键词:UPDATE语句、WHERE条件。
学科网(北京)股份有限公司
$
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第40卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷18——事件与事件调度器"范围和要求编写。具体内容为:掌握事件、事件调度器的基本概念与作用,掌握使用SQL语句创建、修改、删除事件的操作方法及应用
河北省对口招生职业技能考试
数据库原理与应用技术 试卷
(数据库卷18——事件与事件调度器)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. MySQL事件调度器中,EVERY子句的作用是()
A.指定事件名称 B.指定事件执行频率(周期性执行) C.声明事件变量 D.结束事件
2. MySQL事件调度器(Event Scheduler)的主要功能是()
A.备份数据库 B.按计划自动执行SQL语句或存储过程 C.监控查询性能 D.管理用户权限
3. MySQL事件调度器中,ON SCHEDULE子句用于指定()
A.事件名称 B.事件的执行时间和频率 C.事件内容 D.事件创建者
4. MySQL事件中,DO子句的作用是()
A.声明事件参数
B.指定事件名称
C.指定事件要执行的SQL语句或存储过程
D.设置事件执行时间
5. MySQL中,创建事件的语句使用()关键字
A.PROCEDURE B.TRIGGER C.EVENT D.SCHEDULE
6. 在MySQL中,开启事件调度器的命令是()
A.SET EVENT = ON
B.SET GLOBAL event_scheduler = ON
C.ENABLE EVENT
D.START EVENT
7. 在MySQL中,查看事件调度器状态,应使用()
A.SHOW EVENTS
B.SHOW EVENT STATUS
C.SHOW CREATE EVENT
D.SHOW VARIABLES LIKE 'event_scheduler'
8. 在MySQL中,删除事件的命令是()
A.DROP EVENT B.DELETE EVENT C.REMOVE EVENT D.DROP SCHEDULE
9. MySQL中,ALTER EVENT的作用是()
A.创建事件 B.删除事件 C.修改已有事件的定义 D.查看事件
10. MySQL事件调度器默认是()状态
A.ON B.OFF C.DISABLED D.ACTIVE
11. 下列关于MySQL事件的说法,正确的是()
A.事件只能执行单次
B.事件可以手动触发执行
C.事件必须依赖触发器才能执行
D.事件执行的SQL语句可以是增删改查操作
12. MySQL中,创建周期性事件时,下列语法格式正确的是()
A.CREATE EVENT e1 ON SCHEDULE EVERY 1 HOUR DO INSERT INTO t1 VALUES(1);
B.CREATE EVENT e1 EVERY 1 HOUR DO INSERT INTO t1 VALUES(1);
C.CREATE EVENT e1 ON SCHEDULE 1 HOUR DO INSERT INTO t1 VALUES(1);
D.CREATE EVENT e1 ON SCHEDULE EVERY 1 HOUR INSERT INTO t1 VALUES(1);
13. MySQL中,若要让事件在指定时间单次执行,应使用()子句配合ON SCHEDULE
A.EVERY B.AT C.IN D.FOR
14. 下列关于事件调度器的说法,错误的是()
A.事件调度器开启后,会自动检测并执行符合条件的事件
B.事件调度器的状态可通过SQL命令修改
C.关闭事件调度器后,已创建的事件会被删除
D.事件调度器是MySQL自带的功能,无需额外安装
15. MySQL中,查看指定事件(如e_test)详细定义的命令是()
A.SHOW EVENT e_test;
B.DESCRIBE EVENT e_test;
C.SHOW CREATE EVENT e_test;
D.LIST EVENT e_test;
16. MySQL中,若要禁用某个已创建的事件(不删除),应使用()
A.DROP EVENT
B.ALTER EVENT 事件名 DISABLE
C.DELETE EVENT
D.SET EVENT 事件名 = OFF
17. MySQL事件中,若需执行多条SQL语句,应使用()包裹语句块
A.{} B.[] C.BEGIN...END D.();
18. 下列哪种情况,MySQL事件不会自动执行()
A.事件调度器处于ON状态 B.事件处于ENABLED状态
C.事件的执行时间未到 D.事件定义正确且无语法错误
19. MySQL中,创建事件时,指定事件在每天凌晨2点执行,正确的ON SCHEDULE子句是()
A.ON SCHEDULE EVERY 1 DAY AT '02:00:00' B.ON SCHEDULE AT '02:00:00' C.ON SCHEDULE EVERY 24 HOURS AT '02:00:00' D.ON SCHEDULE EVERY DAY AT '02:00:00'
20. 关于MySQL事件与存储过程的关系,下列说法正确的是()
A.事件不能调用存储过程 B.事件可以调用存储过程,实现复杂逻辑
C.存储过程必须依赖事件才能执行 D.事件和存储过程完全相同,可互换使用
二、填空题(共10空,每空1分,共10分)
21. MySQL中,删除事件的命令是DROP_____。
22. MySQL事件调度器默认是_____状态(ON/OFF)。
23. MySQL中,开启事件调度器的命令是SET GLOBAL event_scheduler = _____。
24. MySQL事件中,_____子句指定事件触发时要执行的SQL语句。
25. MySQL创建事件时,ON SCHEDULE子句用于指定事件的执行_____。
26. MySQL中,创建事件的关键字是CREATE_____。
27. MySQL中,修改已有事件的命令是ALTER_____。
28. MySQL事件中,周期性执行需使用_____子句配合ON SCHEDULE。
29. MySQL中,查看所有已创建事件的命令是SHOW_____。
30. MySQL事件中,若需执行多条SQL语句,需用_____...END包裹语句块。
三、判断题(共5题,每题1分,共5分)
31. MySQL中,CREATE EVENT用于创建事件。( )
31. MySQL中,CREATE EVENT用于创建事件。( )
32. MySQL事件调度器必须在操作系统中安装才能使用。( )
33. MySQL中,ALTER EVENT可以修改已存在事件的执行时间。( )
34. MySQL事件调度器默认是开启的。( )
35. MySQL中,事件可以手动触发执行。( )
四、写命令题(共5题,每题9分,共45分)
36. 请写出开启MySQL事件调度器,并创建事件e_insert_log,每周日执行一次,在日志表log_table中插入一条当前日期的记录(logtime字段)。
37. 请写出创建一个事件e_daily_task,每天凌晨2点执行一次,调用存储过程p_daily_cleanup()。
38. 已知有商品表product(pid INT PRIMARY KEY, pname VARCHAR(50), stock INT),请用触发器实现:当向订单表orderlist(oid INT, pid INT, qty INT)中插入订单时,自动将对应商品的库存减少相应数量。
39. 请写出使用mysqldump备份数据库mydb的表t1和t2的命令。
40. 已知商品表goods(gid INT PRIMARY KEY, gname VARCHAR(50), price DECIMAL(10,2), stock INT),请写出SQL命令:将库存为0的所有商品的库存修改为100。
学科网(北京)股份有限公司
$