内容正文:
编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第69练,内容是修改和删除事件。
《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第69练
修改和删除事件
一、单项选择题
1. 已知当前数据库中存在事件e_daily_clean,需将其从禁用状态改为启用状态,下列语法正确的是( )
A. ALTER EVENT e_daily_clean SET ENABLE;
B. ALTER EVENT e_daily_clean ENABLE;
C. ALTER EVENT e_daily_clean ENABLED;
D. UPDATE EVENT e_daily_clean SET status=ENABLE;
【答案】B
【解析】修改事件状态的标准语法为ALTER EVENT 事件名 ENABLE|DISABLE。A 错误:不能加冗余的SET关键字;C 错误:状态参数为ENABLE/DISABLE,不能加D;D 错误:MySQL 无UPDATE EVENT语法,修改事件只能用ALTER EVENT。
2.删除当前数据库中可能不存在的事件e_weekly_report,下列语法最安全且正确的是( )
A. DROP EVENT e_weekly_report IF EXISTS;
B. DROP IF EXISTS EVENT e_weekly_report;
C. DROP EVENT IF EXISTS e_weekly_report;
D. DELETE EVENT IF EXISTS e_weekly_report;
【答案】C
【解析】带存在性检查的删除事件语法为DROP EVENT IF EXISTS 事件名。A 错误:IF EXISTS必须紧跟EVENT关键字;B 错误:IF EXISTS位置完全错误;D 错误:删除事件用DROP,DELETE仅用于删除表数据。
3.原事件e_single为单次执行事件(2026-05-10 执行),需修改为每天凌晨 2 点执行的重复事件,下列语法正确的是( )
A. ALTER EVENT e_single ON SCHEDULE EVERY 1 DAY STARTS '2026-05-11 02:00:00';
B. ALTER EVENT e_single ON SCHEDULE AT '2026-05-11 02:00:00' EVERY 1 DAY;
C. ALTER EVENT e_single ON SCHEDULE EVERY 1 DAYS STARTS '2026-05-11 02:00:00';
D. ALTER EVENT e_single ON SCHEDULE EVERY 1 DAY STARTS 2026-05-11 02:00:00;
【答案】A
【解析】修改事件调度时间的语法与创建时一致:重复事件用EVERY 数量 时间单位(时间单位用单数),STARTS后的时间戳必须加单引号。B 错误:AT用于单次事件,不能与EVERY混用;C 错误:时间单位用了复数DAYS;D 错误:STARTS后的时间戳未加单引号。
4.需修改数据库shop中事件e_move_order的状态为禁用,下列跨库修改语法正确的是( )
A. ALTER EVENT FROM shop e_move_order DISABLE;
B. ALTER EVENT shop.e_move_order DISABLE;
C. ALTER EVENT IN shop e_move_order DISABLE;
D. ALTER EVENT e_move_order IN shop DISABLE;
【答案】B
【解析】跨库修改事件的标准格式为ALTER EVENT 数据库名.事件名 修改内容。A 错误:无FROM关键字;C 错误:无IN关键字;D 错误:IN shop位置错误,不能放在事件名之后。
5.需修改事件e_daily_stats的执行主体,改为先插入统计日志再更新统计表(两条语句),下列语法正确的是( )
A. ALTER EVENT e_daily_stats DO INSERT INTO stats_log(log_time) VALUES(NOW()); UPDATE stats SET total=total+1 WHERE stat_date=CURDATE();
B. ALTER EVENT e_daily_stats DO BEGIN INSERT INTO stats_log(log_time) VALUES(NOW()) UPDATE stats SET total=total+1 WHERE stat_date=CURDATE() END;
C. ALTER EVENT e_daily_stats DO BEGIN INSERT INTO stats_log(log_time) VALUES(NOW()); UPDATE stats SET total=total+1 WHERE stat_date=CURDATE(); END;
D. ALTER EVENT e_daily_stats DO ( INSERT INTO stats_log(log_time) VALUES(NOW()); UPDATE stats SET total=total+1 WHERE stat_date=CURDATE(); );
【答案】C
【解析】修改事件主体时,若包含多条 SQL 语句,必须用BEGIN...END复合语句包裹,且每条语句末尾必须加分号。A 错误:多条语句未用BEGIN...END包裹;B 错误:两条 SQL 语句末尾未加分号;D 错误:不能用小括号代替BEGIN...END。
6.删除数据库school中已确认存在的事件e_monthly_report,下列语法正确的是( )
A. DROP EVENT school.e_monthly_report;
B. DROP EVENT FROM school e_monthly_report;
C. DROP school.EVENT e_monthly_report;
D. DELETE EVENT school.e_monthly_report;
【答案】A
【解析】跨库删除事件的标准格式为DROP EVENT 数据库名.事件名。B 错误:无FROM关键字;C 错误:EVENT是关键字,不能加在数据库名后;D 错误:删除事件用DROP,不是DELETE。
7.需修改事件e_daily_clean的参数:执行完毕后保留事件,并添加注释 “每日凌晨 2 点清理 7 天前日志”,下列语法正确的是( )
A. ALTER EVENT e_daily_clean ON COMPLETION PRESERVE COMMENT '每日凌晨2点清理7天前日志';
B. ALTER EVENT e_daily_clean COMMENT '每日凌晨2点清理7天前日志' ON COMPLETION PRESERVE;
C. ALTER EVENT e_daily_clean ON COMPLETION PRESERVE COMMENT='每日凌晨2点清理7天前日志';
D. ALTER EVENT e_daily_clean ON PRESERVE COMPLETION COMMENT '每日凌晨2点清理7天前日志';
【答案】A
【解析】修改事件参数的顺序与创建时一致:ON COMPLETION PRESERVE在前,COMMENT在后;COMMENT后直接跟单引号包裹的注释,不能加等号。B 错误:参数顺序颠倒;C 错误:COMMENT后多了等号;D 错误:ON COMPLETION PRESERVE顺序错误。
8.下列关于修改事件的 SQL 语句中,存在核心语法错误的是( )
A. ALTER EVENT e_hourly_stats ON SCHEDULE EVERY 1 HOUR ENABLE;
B. ALTER EVENT e_single_task ON SCHEDULE AT '2026-06-01 10:00:00';
C. ALTER EVENT e_old_name RENAME TO e_new_name;
D. ALTER EVENT e_daily_clean ON COMPLETION NOT PRESERVE;
【答案】A
9.需修改事件e_weekly_backup的调度时间:每周日凌晨 3 点执行,从 2026-05-15 开始,到 2026-12-31 结束,下列语法正确的是( )
A. ALTER EVENT e_weekly_backup ON SCHEDULE EVERY 1 WEEK STARTS '2026-05-15 03:00:00' ENDS '2026-12-31 23:59:59';
B. ALTER EVENT e_weekly_backup ON SCHEDULE EVERY 1 WEEK ENDS '2026-12-31 23:59:59' STARTS '2026-05-15 03:00:00';
C. ALTER EVENT e_weekly_backup ON SCHEDULE EVERY 1 WEEK STARTS 2026-05-15 03:00:00 ENDS 2026-12-31 23:59:59;
D. ALTER EVENT e_weekly_backup ON SCHEDULE AT '2026-05-15 03:00:00' ENDS '2026-12-31 23:59:59';
【答案】A
10.已知数据库library中存在事件e_daily_borrow_stats,需将其修改为每周一凌晨 1 点执行(从 2026-05-13 开始),执行完毕后保留事件,启用状态,添加注释 “每周一统计上周图书借阅量”,执行主体为先插入统计日志再更新统计表,下列语法完全正确的是( )
A. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEK STARTS 2026-05-13 01:00:00 ON COMPLETION PRESERVE ENABLED COMMENT '每周一统计上周图书借阅量' DO BEGIN INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u'); END;
B. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEKS STARTS '2026-05-13 01:00:00' ON COMPLETION PRESERVE ENABLE COMMENT='每周一统计上周图书借阅量' DO BEGIN INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u'); END;
C. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEK STARTS '2026-05-13 01:00:00' ENABLE ON COMPLETION PRESERVE COMMENT '每周一统计上周图书借阅量' DO INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u');
D. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEK STARTS '2026-05-13 01:00:00' ON COMPLETION PRESERVE ENABLE COMMENT '每周一统计上周图书借阅量' DO BEGIN INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u'); END;
【答案】D
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第69练,内容是修改和删除事件。
《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第69练
修改和删除事件
一、单项选择题
1. 已知当前数据库中存在事件e_daily_clean,需将其从禁用状态改为启用状态,下列语法正确的是( )
A. ALTER EVENT e_daily_clean SET ENABLE;
B. ALTER EVENT e_daily_clean ENABLE;
C. ALTER EVENT e_daily_clean ENABLED;
D. UPDATE EVENT e_daily_clean SET status=ENABLE;
2.删除当前数据库中可能不存在的事件e_weekly_report,下列语法最安全且正确的是( )
A. DROP EVENT e_weekly_report IF EXISTS;
B. DROP IF EXISTS EVENT e_weekly_report;
C. DROP EVENT IF EXISTS e_weekly_report;
D. DELETE EVENT IF EXISTS e_weekly_report;
3.原事件e_single为单次执行事件(2026-05-10 执行),需修改为每天凌晨 2 点执行的重复事件,下列语法正确的是( )
A. ALTER EVENT e_single ON SCHEDULE EVERY 1 DAY STARTS '2026-05-11 02:00:00';
B. ALTER EVENT e_single ON SCHEDULE AT '2026-05-11 02:00:00' EVERY 1 DAY;
C. ALTER EVENT e_single ON SCHEDULE EVERY 1 DAYS STARTS '2026-05-11 02:00:00';
D. ALTER EVENT e_single ON SCHEDULE EVERY 1 DAY STARTS 2026-05-11 02:00:00;
4.需修改数据库shop中事件e_move_order的状态为禁用,下列跨库修改语法正确的是( )
A. ALTER EVENT FROM shop e_move_order DISABLE;
B. ALTER EVENT shop.e_move_order DISABLE;
C. ALTER EVENT IN shop e_move_order DISABLE;
D. ALTER EVENT e_move_order IN shop DISABLE;
5.需修改事件e_daily_stats的执行主体,改为先插入统计日志再更新统计表(两条语句),下列语法正确的是( )
A. ALTER EVENT e_daily_stats DO INSERT INTO stats_log(log_time) VALUES(NOW()); UPDATE stats SET total=total+1 WHERE stat_date=CURDATE();
B. ALTER EVENT e_daily_stats DO BEGIN INSERT INTO stats_log(log_time) VALUES(NOW()) UPDATE stats SET total=total+1 WHERE stat_date=CURDATE() END;
C. ALTER EVENT e_daily_stats DO BEGIN INSERT INTO stats_log(log_time) VALUES(NOW()); UPDATE stats SET total=total+1 WHERE stat_date=CURDATE(); END;
D. ALTER EVENT e_daily_stats DO ( INSERT INTO stats_log(log_time) VALUES(NOW()); UPDATE stats SET total=total+1 WHERE stat_date=CURDATE(); );
6.删除数据库school中已确认存在的事件e_monthly_report,下列语法正确的是( )
A. DROP EVENT school.e_monthly_report;
B. DROP EVENT FROM school e_monthly_report;
C. DROP school.EVENT e_monthly_report;
D. DELETE EVENT school.e_monthly_report;
7.需修改事件e_daily_clean的参数:执行完毕后保留事件,并添加注释 “每日凌晨 2 点清理 7 天前日志”,下列语法正确的是( )
A. ALTER EVENT e_daily_clean ON COMPLETION PRESERVE COMMENT '每日凌晨2点清理7天前日志';
B. ALTER EVENT e_daily_clean COMMENT '每日凌晨2点清理7天前日志' ON COMPLETION PRESERVE;
C. ALTER EVENT e_daily_clean ON COMPLETION PRESERVE COMMENT='每日凌晨2点清理7天前日志';
D. ALTER EVENT e_daily_clean ON PRESERVE COMPLETION COMMENT '每日凌晨2点清理7天前日志';
8.下列关于修改事件的 SQL 语句中,存在核心语法错误的是( )
A. ALTER EVENT e_hourly_stats ON SCHEDULE EVERY 1 HOUR ENABLE;
B. ALTER EVENT e_single_task ON SCHEDULE AT '2026-06-01 10:00:00';
C. ALTER EVENT e_old_name RENAME TO e_new_name;
D. ALTER EVENT e_daily_clean ON COMPLETION NOT PRESERVE;
9.需修改事件e_weekly_backup的调度时间:每周日凌晨 3 点执行,从 2026-05-15 开始,到 2026-12-31 结束,下列语法正确的是( )
A. ALTER EVENT e_weekly_backup ON SCHEDULE EVERY 1 WEEK STARTS '2026-05-15 03:00:00' ENDS '2026-12-31 23:59:59';
B. ALTER EVENT e_weekly_backup ON SCHEDULE EVERY 1 WEEK ENDS '2026-12-31 23:59:59' STARTS '2026-05-15 03:00:00';
C. ALTER EVENT e_weekly_backup ON SCHEDULE EVERY 1 WEEK STARTS 2026-05-15 03:00:00 ENDS 2026-12-31 23:59:59;
D. ALTER EVENT e_weekly_backup ON SCHEDULE AT '2026-05-15 03:00:00' ENDS '2026-12-31 23:59:59';
10.已知数据库library中存在事件e_daily_borrow_stats,需将其修改为每周一凌晨 1 点执行(从 2026-05-13 开始),执行完毕后保留事件,启用状态,添加注释 “每周一统计上周图书借阅量”,执行主体为先插入统计日志再更新统计表,下列语法完全正确的是( )
A. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEK STARTS 2026-05-13 01:00:00 ON COMPLETION PRESERVE ENABLED COMMENT '每周一统计上周图书借阅量' DO BEGIN INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u'); END;
B. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEKS STARTS '2026-05-13 01:00:00' ON COMPLETION PRESERVE ENABLE COMMENT='每周一统计上周图书借阅量' DO BEGIN INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u'); END;
C. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEK STARTS '2026-05-13 01:00:00' ENABLE ON COMPLETION PRESERVE COMMENT '每周一统计上周图书借阅量' DO INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u');
D. ALTER EVENT library.e_daily_borrow_stats ON SCHEDULE EVERY 1 WEEK STARTS '2026-05-13 01:00:00' ON COMPLETION PRESERVE ENABLE COMMENT '每周一统计上周图书借阅量' DO BEGIN INSERT INTO borrow_log(log_time) VALUES(NOW()); UPDATE borrow_stats SET total=total+1 WHERE stat_week=DATE_FORMAT(NOW()-INTERVAL 1 WEEK,'%Y-%u'); END;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$