-
8. MySQL information_schema详解 EVENTS
events
-
-
Attachments
-
Changes
-
View Source
-
View
这个专题主要讲information_ schema数据库下的一些表
如无特殊说明数据库版本为MySQL 5.7.26
## 1. EVENTS
该表提供有关event相关的信息,event在MySQL中为任务计划,即按照一定的频率执行一段SQL
相当于Oracle的JOB和Scheduler
该表不是标准的INFORMATION_SCHEMA表
有如下栏位
- EVENT_CATALOG 包含事件的所属的目录的名称,该值总是def
- EVENT_SCHEMA 时间所属的数据库名称
- EVENT_NAME 时间名称
- DEFINER 事件的创建者,以'user_name'@'host_name' 格式
- TIME_ZONE 事件执行的时区,默认为SYSTEM,即操作系统使用的时区
- EVENT_BODY 事件DO字句用的语言,总是为SQL
- EVENT_DEFINITION 事件需要执行的语句
- EVENT_TYPE 事件重复的类型,总是ONE TIME(执行一次)或者RECURRING(重复执行)
- EXECUTE_AT 这个下面介绍
- INTERVAL_VALUE 如果是重复执行的,则为两次执行的间隔,如果是一次性的,则为NULL
- INTERVAL_FIELD 时间两次执行之间建个的时间单位,如果是一次性的,则为NULL
- SQL_MODE EVENT执行时用的SQL_MODE
- STARTS 重复性事件的开始时间,以datetime格式,如果未定义则为NULL,如果是一次性的也为NULL
- ENDS 重复性事件的结束时间,以datetime格式,如果未定义则为NULL
- STATUS event的状态,有 ENABLED, DISABLED, or SLAVESIDE_DISABLED三个值,其中SLAVESIDE_DISABLED代表在slave端不执行
- ON_COMPLETION 两种值PRESERVE or NOT PRESERVE
- CREATED event的创建时间,timestamp类型
- LAST_ALTERED 代表event的修改时间,是timestamp类型,如果从未修改过,则该值created时间一致
- LAST_EXECUTED event的上从执行时间,为datetime类型,如果从未执行过,则为NULL
- EVENT_COMMENT event的注释,如果没有则为空
- ORIGINATOR event所在数据库的server id
- CHARACTER_SET_CLIENT event建立时session级别的character_set_client 值
- COLLATION_CONNECTION event建立时session级别的collation_connection 值
- DATABASE_COLLATION 数据的collation值
------------------------------
## 2. 实际截图
首先我们在test数据库新建一个event并启用他
```
DELIMITER |
CREATE EVENT e_daily
ON SCHEDULE
EVERY 1 DAY
COMMENT 'Saves total number of sessions then clears the table each day'
DO
BEGIN
INSERT INTO site_activity.totals (time, total)
SELECT CURRENT_TIMESTAMP, COUNT(*)
FROM site_activity.sessions;
DELETE FROM site_activity.sessions;
END |
DELIMITER ;
ALTER EVENT e_daily
ENABLE;
```
之后我们查询
```
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'e_daily' AND EVENT_SCHEMA = 'test'\G
```
[image:845 size:orig]
或者
```
SHOW EVENTS from test like 'e_daily'\G
```
[image:846 size:orig]
信息并不是所有栏位的值
## 3. 参考链接
[https://dev.mysql.com/doc/refman/5.7/en/events-table.html](https://dev.mysql.com/doc/refman/5.7/en/events-table.html)