内容正文:
编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第68练,内容是查询启动与关闭事件。
《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第68练
查询启动与关闭事件
一、单项选择题
1. 已知表student_old(学号 s_id, 姓名 s_name, 年龄 s_age) 和student_new(学号 s_id, 姓名 s_name, 年龄 s_age, 入学时间 enroll_date),需将student_old中年龄≥18 的学生插入student_new(入学时间默认当前时间),下列插查询语法正确的是( )
A. INSERT INTO student_new(s_id,s_name,s_age) VALUES SELECT s_id,s_name,s_age FROM student_old WHERE s_age>=18;
B. INSERT INTO student_new(s_id,s_name,s_age,enroll_date) SELECT s_id,s_name,s_age,NOW() FROM student_old WHERE s_age>=18;
C. INSERT INTO student_new SELECT s_id,s_name,s_age FROM student_old WHERE s_age>=18;
D. INSERT INTO student_new(s_id,s_name,s_age,enroll_date) SELECT s_id,s_name,s_age FROM student_old WHERE s_age>=18;
2.临时开启 MySQL 事件调度器,下列 SQL 语句语法完全正确的是( )
A. SET event_scheduler=1;
B. SET GLOBAL event_scheduler='ON';
C. SET @@global.event_scheduler=ON;
D. SET SESSION event_scheduler=1;
3.已知数据库shop中存在表order_today和order_history(结构完全一致),需创建一个单次执行的插查询事件(2026 年 5 月 5 日 00:00:00 执行,将今日订单全部移至历史表),下列语法正确的是( )
A. CREATE EVENT IF NOT EXISTS e_move_order ON SCHEDULE AT '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today;
B. CREATE EVENT IF NOT EXISTS e_move_order ON SCHEDULE AT '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO BEGIN INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today; END;
C. CREATE EVENT IF NOT EXISTS e_move_order ON SCHEDULE EVERY '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO BEGIN INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today; END;
D. CREATE EVEVT IF NOT EXISTS e_move_order ON SCHEDULE AT '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO BEGIN INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today; END;
4.临时关闭 MySQL 事件调度器,下列 SQL 语句语法完全正确的是( )
A. SET GLOBAL event_scheduler=OFF;
B. SET event_scheduler=0;
C. SET @@event_scheduler=0;
D. SET GLOBAL event_scheduler='OFF';
5.已知表user(用户 id u_id, 积分 points) 和user_level(用户 id u_id, 等级 level),需将user中积分≥1000 的用户插入user_level(等级设为 'VIP'),下列插查询语法正确的是( )
A. INSERT INTO user_level(u_id,level) SELECT u_id,'VIP' FROM user WHERE points>=1000;
B. INSERT INTO user_level(u_id,level) VALUES SELECT u_id,'VIP' FROM user WHERE points>=1000;
C. INSERT INTO user_level SELECT u_id FROM user WHERE points>=1000;
D. INSERT INTO user_level(u_id,level) SELECT u_id,VIP FROM user WHERE points>=1000;
6.查看当前数据库中所有名称以e_daily开头的事件,下列语法正确的是( )
A. SHOW EVENTS LIKE 'e_daily%';
B. SHOW EVENTS WHERE name='e_daily';
C. SHOW EVENTS LIKE e_daily%;
D. SHOW ALL EVENTS LIKE 'e_daily%';
7.已知数据库school中存在事件e_daily_clean,需临时禁用该事件,不删除,下列语法正确的是( )
A. ALTER EVENT e_daily_clean DISABLE;
B. ALTER EVENT school.e_daily_clean DISABLED;
C. ALTER EVENT e_daily_clean SET DISABLE;
D. DROP EVENT IF EXISTS e_daily_clean;
8.已知表product(商品 id p_id, 销量 sales) 和product_rank(商品 id p_id, 排名 rank),需将product中销量前 10 的商品插入product_rank(排名按销量从高到低设为 1-10),下列插查询语法正确的是( )
A. INSERT INTO product_rank(p_id,rank) SELECT p_id,ROW_NUMBER() OVER(ORDER BY sales DESC) FROM product LIMIT 10;
B. INSERT INTO product_rank(p_id,rank) SELECT p_id,ROW_NUMBER() OVER(ORDER BY sales DESC) FROM product ORDER BY sales DESC;
C. INSERT INTO product_rank(p_id,rank) SELECT p_id,10-ROW_NUMBER() OVER(ORDER BY sales ASC)+1 FROM product LIMIT 10;
D. INSERT INTO product_rank(p_id,rank) SELECT p_id,ROW_NUMBER() OVER(ORDER BY sales DESC) FROM product;
9.查看数据库shop中事件e_move_order的完整创建语句,下列语法正确的是( )
A. SHOW CREATE EVENT shop.e_move_order;
B. SHOW CREATE EVENT FROM shop e_move_order;
C. SHOW CREATE EVENT e_move_order IN shop;
D. SHOW CREATE shop.e_move_order;
10.已知数据库mall中存在表temp_order(订单号 o_id, 用户 id u_id, 金额 amount) 和formal_order(订单号 o_id, 用户 id u_id, 金额 amount, 创建时间 create_time),下列创建一个每小时执行一次的事件(将临时订单移至正式表并清空临时表,执行完毕后保留事件,创建后立即启用)的 SQL 语句,语法完全正确的是( )
A. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ENABLE ON COMPLETION PRESERVE DO BEGIN INSERT INTO formal_order SELECT o_id,u_id,amount,NOW() FROM temp_order; TRUNCATE TABLE temp_order; END;
B. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE ENABLE DO BEGIN INSERT INTO formal_order VALUES SELECT o_id,u_id,amount,NOW() FROM temp_order; TRUNCATE TABLE temp_order; END;
C. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE ENABLE DO BEGIN INSERT INTO formal_order(o_id,u_id,amount,create_time) SELECT o_id,u_id,amount,NOW() FROM temp_order; TRUNCATE TABLE temp_order; END;
D. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE ENABLED DO BEGIN INSERT INTO formal_order(o_id,u_id,amount,create_time) SELECT o_id,u_id,amount FROM temp_order; TRUNCATE TABLE temp_order; END;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第68练,内容是查询启动与关闭事件。
《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第68练
查询启动与关闭事件
一、单项选择题
1. 已知表student_old(学号 s_id, 姓名 s_name, 年龄 s_age) 和student_new(学号 s_id, 姓名 s_name, 年龄 s_age, 入学时间 enroll_date),需将student_old中年龄≥18 的学生插入student_new(入学时间默认当前时间),下列插查询语法正确的是( )
A. INSERT INTO student_new(s_id,s_name,s_age) VALUES SELECT s_id,s_name,s_age FROM student_old WHERE s_age>=18;
B. INSERT INTO student_new(s_id,s_name,s_age,enroll_date) SELECT s_id,s_name,s_age,NOW() FROM student_old WHERE s_age>=18;
C. INSERT INTO student_new SELECT s_id,s_name,s_age FROM student_old WHERE s_age>=18;
D. INSERT INTO student_new(s_id,s_name,s_age,enroll_date) SELECT s_id,s_name,s_age FROM student_old WHERE s_age>=18;
【答案】B
2.临时开启 MySQL 事件调度器,下列 SQL 语句语法完全正确的是( )
A. SET event_scheduler=1;
B. SET GLOBAL event_scheduler='ON';
C. SET @@global.event_scheduler=ON;
D. SET SESSION event_scheduler=1;
【答案】C
3.已知数据库shop中存在表order_today和order_history(结构完全一致),需创建一个单次执行的插查询事件(2026 年 5 月 5 日 00:00:00 执行,将今日订单全部移至历史表),下列语法正确的是( )
A. CREATE EVENT IF NOT EXISTS e_move_order ON SCHEDULE AT '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today;
B. CREATE EVENT IF NOT EXISTS e_move_order ON SCHEDULE AT '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO BEGIN INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today; END;
C. CREATE EVENT IF NOT EXISTS e_move_order ON SCHEDULE EVERY '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO BEGIN INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today; END;
D. CREATE EVEVT IF NOT EXISTS e_move_order ON SCHEDULE AT '2026-05-05 00:00:00' ON COMPLETION PRESERVE DO BEGIN INSERT INTO order_history SELECT * FROM order_today; TRUNCATE TABLE order_today; END;
【答案】B
4.临时关闭 MySQL 事件调度器,下列 SQL 语句语法完全正确的是( )
A. SET GLOBAL event_scheduler=OFF;
B. SET event_scheduler=0;
C. SET @@event_scheduler=0;
D. SET GLOBAL event_scheduler='OFF';
【答案】A
5.已知表user(用户 id u_id, 积分 points) 和user_level(用户 id u_id, 等级 level),需将user中积分≥1000 的用户插入user_level(等级设为 'VIP'),下列插查询语法正确的是( )
A. INSERT INTO user_level(u_id,level) SELECT u_id,'VIP' FROM user WHERE points>=1000;
B. INSERT INTO user_level(u_id,level) VALUES SELECT u_id,'VIP' FROM user WHERE points>=1000;
C. INSERT INTO user_level SELECT u_id FROM user WHERE points>=1000;
D. INSERT INTO user_level(u_id,level) SELECT u_id,VIP FROM user WHERE points>=1000;
【答案】A
6.查看当前数据库中所有名称以e_daily开头的事件,下列语法正确的是( )
A. SHOW EVENTS LIKE 'e_daily%';
B. SHOW EVENTS WHERE name='e_daily';
C. SHOW EVENTS LIKE e_daily%;
D. SHOW ALL EVENTS LIKE 'e_daily%';
【答案】A
7.已知数据库school中存在事件e_daily_clean,需临时禁用该事件,不删除,下列语法正确的是( )
A. ALTER EVENT e_daily_clean DISABLE;
B. ALTER EVENT school.e_daily_clean DISABLED;
C. ALTER EVENT e_daily_clean SET DISABLE;
D. DROP EVENT IF EXISTS e_daily_clean;
【答案】A
8.已知表product(商品 id p_id, 销量 sales) 和product_rank(商品 id p_id, 排名 rank),需将product中销量前 10 的商品插入product_rank(排名按销量从高到低设为 1-10),下列插查询语法正确的是( )
A. INSERT INTO product_rank(p_id,rank) SELECT p_id,ROW_NUMBER() OVER(ORDER BY sales DESC) FROM product LIMIT 10;
B. INSERT INTO product_rank(p_id,rank) SELECT p_id,ROW_NUMBER() OVER(ORDER BY sales DESC) FROM product ORDER BY sales DESC;
C. INSERT INTO product_rank(p_id,rank) SELECT p_id,10-ROW_NUMBER() OVER(ORDER BY sales ASC)+1 FROM product LIMIT 10;
D. INSERT INTO product_rank(p_id,rank) SELECT p_id,ROW_NUMBER() OVER(ORDER BY sales DESC) FROM product;
【答案】A
9.查看数据库shop中事件e_move_order的完整创建语句,下列语法正确的是( )
A. SHOW CREATE EVENT shop.e_move_order;
B. SHOW CREATE EVENT FROM shop e_move_order;
C. SHOW CREATE EVENT e_move_order IN shop;
D. SHOW CREATE shop.e_move_order;
【答案】A
10.已知数据库mall中存在表temp_order(订单号 o_id, 用户 id u_id, 金额 amount) 和formal_order(订单号 o_id, 用户 id u_id, 金额 amount, 创建时间 create_time),下列创建一个每小时执行一次的事件(将临时订单移至正式表并清空临时表,执行完毕后保留事件,创建后立即启用)的 SQL 语句,语法完全正确的是( )
A. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ENABLE ON COMPLETION PRESERVE DO BEGIN INSERT INTO formal_order SELECT o_id,u_id,amount,NOW() FROM temp_order; TRUNCATE TABLE temp_order; END;
B. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE ENABLE DO BEGIN INSERT INTO formal_order VALUES SELECT o_id,u_id,amount,NOW() FROM temp_order; TRUNCATE TABLE temp_order; END;
C. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE ENABLE DO BEGIN INSERT INTO formal_order(o_id,u_id,amount,create_time) SELECT o_id,u_id,amount,NOW() FROM temp_order; TRUNCATE TABLE temp_order; END;
D. CREATE EVENT IF NOT EXISTS e_transfer_order ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE ENABLED DO BEGIN INSERT INTO formal_order(o_id,u_id,amount,create_time) SELECT o_id,u_id,amount FROM temp_order; TRUNCATE TABLE temp_order; END;
【答案】C
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$