在《如何理解MySQL中的Event事件?》里我们已经清楚地知道什么是事件了,那该如何创建并执行事件呢?
在MySQL里,通过CREATE EVENT语句来创建事件:(冷知识:'[]'表示任选)
CREATE [DEFINER = { user | CURRENT_USER }] -- 定义事件执行的用户(可选) EVENT [IF NOT EXISTS] event_name -- 事件名称,IF NOT EXISTS避免重复创建 ON SCHEDULE schedule -- 核心且必选:设定执行时间/周期 [ON COMPLETION [NOT] PRESERVE] -- 任务完成后是否保留事件(默认不保留) [ENABLE | DISABLE | DISABLE ON SLAVE] -- 事件状态(启用/禁用,默认启用) [COMMENT 'string'] -- 事件描述(可选) DO sql_statement; -- 要执行的SQL语句/语句块
怎么用?首先,记住ON SCHEDULE 这个参数必填!如果是在指定时间执行一次,比如在今天12:00:00进行,那就是ON SCHEDULE AT TIMESTAMP '2025-09-17 12:12:00' ;如果是周期性执行,比如每分钟都要执行一次,那就是 ON SCHEDULE EVERY 1 MINUTE 。
其次,举个例子就明白了;
先看看我们dotcpp_user有多少名用户:
如果我们想要每10s向dotcpp_user表格插入('dotcpp_Suser','go coding!'),则输入:
CREATE EVENT insert_user ON SCHEDULE EVERY 10 SECOND DO INSERT INTO dotcpp_user (name, hobby) VALUES ('dotcpp_Suser', 'go coding!');
等待一分钟,看看后面有没有10个用户:
LATER~
记得:
DROP EVENT insert_user; -- 不然要爆了!!!
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程