CREATE TEMPORARY TABLE `EVENTS` (
`EVENT_CATALOG` varchar(64) NOT NULL DEFAULT '',
`EVENT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`EVENT_NAME` varchar(64) NOT NULL DEFAULT '',
`DEFINER` varchar(93) NOT NULL DEFAULT '',
`TIME_ZONE` varchar(64) NOT NULL DEFAULT '',
`EVENT_BODY` varchar(8) NOT NULL DEFAULT '',
`EVENT_DEFINITION` longtext NOT NULL,
`EVENT_TYPE` varchar(9) NOT NULL DEFAULT '',
`EXECUTE_AT` datetime DEFAULT NULL,
`INTERVAL_VALUE` varchar(256) DEFAULT NULL,
`INTERVAL_FIELD` varchar(18) DEFAULT NULL,
`SQL_MODE` varchar(8192) NOT NULL DEFAULT '',
`STARTS` datetime DEFAULT NULL,
`ENDS` datetime DEFAULT NULL,
`STATUS` varchar(18) NOT NULL DEFAULT '',
`ON_COMPLETION` varchar(12) NOT NULL DEFAULT '',
`CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`LAST_EXECUTED` datetime DEFAULT NULL,
`EVENT_COMMENT` varchar(64) NOT NULL DEFAULT '',
`ORIGINATOR` bigint(10) NOT NULL DEFAULT '0',
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
`COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
`DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8
# 先创建一个存放统计数据的表,然后再创建一个事件每天统计sbtest.sbtest1表中的最大自增值,并插入到统计数据表中
## 创建存放统计数据的表
root@localhost : sbtest 05:03:31> create table test_table (id int);
Query OK, 0 rows affected (0.02 sec)
## 创建统计事件
root@localhost : sbtest 05:04:06> DELIMITER $$
root@localhost : sbtest 05:05:28> CREATE EVENT test_event
-> ON SCHEDULE
-> EVERY 1 DAY
-> COMMENT '每天统计sbtest1表中的最大自增值'
-> DO
-> BEGIN
-> insert into test_table select max(id) from sbtest1;
-> END $$
Query OK, 0 rows affected (0.00 sec)
root@localhost : sbtest 05:05:37>
root@localhost : sbtest 05:05:37> DELIMITER ;
# 然后在events表中查询事件信息
root@localhost : sbtest 05:05:39> select * from information_schema.events\G;
*************************** 1. row ***************************
EVENT_CATALOG: def
EVENT_SCHEMA: sbtest
EVENT_NAME: test_event
DEFINER: root@%
TIME_ZONE: +08:00
EVENT_BODY: SQL
EVENT_DEFINITION: BEGIN
insert into test_table select max(id) from sbtest1;
END
EVENT_TYPE: RECURRING
EXECUTE_AT: NULL
INTERVAL_VALUE: 1
INTERVAL_FIELD: DAY
SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
STARTS: 2018-01-21 17:05:37
ENDS: NULL
STATUS: ENABLED
ON_COMPLETION: NOT PRESERVE
CREATED: 2018-01-21 17:05:37
LAST_ALTERED: 2018-01-21 17:05:37
LAST_EXECUTED: NULL
EVENT_COMMENT: 每天统计sbtest1表中的最大自增值
ORIGINATOR: 3306111
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci
DATABASE_COLLATION: utf8_bin
1 row in set (0.00 sec)
# 修改事件
root@localhost : sbtest 05:06:00> ALTER EVENT test_event enable;
Query OK, 0 rows affected (0.01 sec)
# 再次查询events表中的事件信息
root@localhost : sbtest 05:08:56> select * from information_schema.events\G;
*************************** 1. row ***************************
EVENT_CATALOG: def
EVENT_SCHEMA: sbtest
EVENT_NAME: test_event
DEFINER: root@%
TIME_ZONE: +08:00
EVENT_BODY: SQL
EVENT_DEFINITION: BEGIN
insert into test_table select max(id) from sbtest1;
END
EVENT_TYPE: RECURRING
EXECUTE_AT: NULL
INTERVAL_VALUE: 1
INTERVAL_FIELD: DAY
SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
STARTS: 2018-01-21 17:05:37
ENDS: NULL
STATUS: ENABLED
ON_COMPLETION: NOT PRESERVE
CREATED: 2018-01-21 17:05:37
LAST_ALTERED: 2018-01-21 17:08:56
LAST_EXECUTED: NULL
EVENT_COMMENT: 每天统计sbtest1表中的最大自增值
ORIGINATOR: 3306111
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci
DATABASE_COLLATION: utf8_bin
1 row in set (0.00 sec)
# 语法
Syntax:
SHOW EVENTS [{FROM | IN} schema_name]
[LIKE 'pattern' | WHERE expr]
# 示例(从下面的结果中可以看到,查询到的信息明显少于直接查询events表)
root@localhost : sbtest 05:11:08> show events from sbtest where Name='test_event'\G;
*************************** 1. row ***************************
Db: sbtest
Name: test_event
Definer: root@%
Time zone: +08:00
Type: RECURRING
Execute at: NULL
Interval value: 1
Interval field: DAY
Starts: 2018-01-21 17:05:37
Ends: NULL
Status: ENABLED
Originator: 3306111
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_bin
1 row in set (0.00 sec)