`
shiyongno1
  • 浏览: 8597 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Mysql事件学习

 
阅读更多

一、查询数据库事件模式是否开启

SHOW VARIABLES LIKE 'event_scheduler';

 

二、设置开启/关闭事件
SET GLOBAL event_scheduler = ON;//开启
SET GLOBAL event_scheduler = OFF;//关闭

 三、Mysql事件的语法简介

1、创建事件的语法

CREATE
    [DEFINER = { user | CURRENT_USER }]
    EVENT
    [IF NOT EXISTS]
    event_name
    ON SCHEDULE
    [ON COMPLETION [NOT] PRESERVE]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'comment']
    DO event_body;
 
schedule:
    AT timestamp [+ INTERVAL interval] ...
     | EVERY interval
    [STARTS timestamp [+ INTERVAL interval] ...]
    [ENDS timestamp [+ INTERVAL interval] ...]
interval:
  quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
              WEEK | SECOND | YEAR_MONTH | DAY_HOUR |
DAY_MINUTE |DAY_SECOND | HOUR_MINUTE |
HOUR_SECOND | MINUTE_SECOND}

 

2、更改事件的语法 
ALTER
    [DEFINER = { user | CURRENT_USER }]
    EVENT event_name
    [ON SCHEDULE schedule]
    [ON COMPLETION [NOT] PRESERVE]
    [RENAME TO new_event_name]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'comment']
    [DO event_body]

 3、删除事件的语法

DROP EVENT [IF EXISTS] event_name

 

 四、Mysql事件实战 
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `t1` datetime DEFAULT NULL,
  `id2` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=106 DEFAULT CHARSET=utf8

 1、创建一个每隔3秒往test表中插入一条数据的事件

CREATE EVENT IF NOT EXISTS test ON SCHEDULE EVERY 3 SECOND
ON COMPLETION PRESERVE
DO INSERT INTO test(id,t1) VALUES('',NOW());

2、创建一个10分钟后清空test表数据的事件

CREATE EVENT IF NOT EXISTS test
ON SCHEDULE
AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
DO TRUNCATE TABLE test.aaa;

 3、创建一个在2012-08-23 00:00:00时刻清空test表数据的事件

CREATE EVENT IF NOT EXISTS test
ON SCHEDULE
AT TIMESTAMP '2012-08-23 00:00:00'
DO TRUNCATE TABLE test;

 4、创建一个从20128222145分开始到10分钟后结束,

运行每隔3秒往test表中插入一条数据的事件

CREATE EVENT IF NOT EXISTS test ON SCHEDULE EVERY 3 SECOND
STARTS '2012-08-22 21:49:00' 
ENDS '2012-08-22 21:49:00'+ INTERVAL  10 MINUTE
ON COMPLETION PRESERVE
DO INSERT INTO test(id,t1) VALUES('',NOW());

 5、6、事件设置2012-08-22 00:00:00时刻开始运行,每隔1调用一次存储过程

CREATE EVENT test ON SCHEDULE EVERY 1 DAY
STARTS '2012-08-22 00:00:00'
ENDS '2012-08-22 00:00:00'+INTERVAL 40 DAY
ON COMPLETION PRESERVE DO
CALL test_add();

 

 

分享到:
评论

相关推荐

    MySQL学习资料.zip,包括MySQL基础、进阶、运维

    本部分会深入探讨MySQL的高级特性,例如事务控制、锁机制、视图、事件调度器等。此外,还会介绍如何进行性能优化,包括索引优化、查询优化等,以及如何通过分析工具识别并解决性能瓶颈。进阶篇的学习有助于提升...

    数据库mysql学习脑图

    本资源“数据库mysql学习脑图”旨在为MySQL初学者提供一个清晰的学习路径,帮助理解其核心概念和功能。 首先,脑图将可能涵盖数据库基础,包括数据库的概念、数据模型(如层次模型、网状模型、关系模型)以及SQL...

    2021年MySQL高级教程视频.rar

    02.MySQL高级Linux上安装MySQL.avi 03.MySQL高级启动及登录MySQL.avi 04.MySQL高级索引概述.avi 05.MySQL高级索引优势和劣势.avi 06.MySQL高级索引数据结构.avi 07.MySQL高级索引数据结构BTREE.avi 08.MySQL高级索引...

    Mysql Mysql学习资料

    这份"Mysql Mysql学习资料"涵盖了关于MySQL的基础到高级的知识点,对于想要深入理解数据库管理和开发的人员来说是一份宝贵的资源。 1. **MySQL基础知识** - 数据库概念:理解数据库是什么,以及它在存储和管理数据...

    Mysql学习文档

    4. **MySQL触发器**:触发器是一种特殊类型的存储过程,当数据库中的某些特定事件发生时(如插入、更新或删除记录)自动执行。 5. **MySQL视图**:视图是从一个或多个表中选择出来的虚拟表,它可以帮助简化复杂的...

    mysql学习文档

    这份“mysql学习文档”是专为初学者和有经验的开发者设计的,旨在帮助他们深入理解和掌握MySQL的核心概念、操作以及最佳实践。 1. **基础概念** - **关系型数据库**:MySQL基于关系模型,它通过表格来组织数据,每...

    mysql文件学习

    在“mysql文件学习”这个主题中,我们可以深入探讨MySQL的多个关键概念和功能。 首先,理解数据库的基本概念是至关重要的。数据库是一个组织和存储数据的系统,而MySQL则提供了一个平台来创建、管理和查询这些数据...

    MYSQL学习手册

    这份"MYSQL学习手册"涵盖了MySQL的基础知识、安装配置、数据类型、SQL语句、索引、存储引擎、视图、触发器、事务处理、备份与恢复、性能优化以及安全管理等方面,旨在帮助读者全面掌握MySQL的使用。 1. MySQL基础:...

    mysql学习资料mysql学习资料

    - 触发器(TRIGGER):学习如何设置触发器,实现自动响应特定数据库事件的行为。 - 事务处理:理解ACID属性,使用BEGIN、COMMIT、ROLLBACK管理事务,确保数据一致性。 - 索引:了解B树索引、哈希索引和全文索引,...

    mysql学习资料整理

    ### MySQL学习资料整理 #### 一、MySQL基础知识 **1. 创建与管理数据库** - **查看数据库**: 使用 `show databases;` 命令来查看MySQL服务器上所有的数据库。 - **创建数据库**: 可以通过 `create database ...

    MySQL5认证学习指南

    MySQL5认证学习指南是一份详尽的教程,旨在帮助用户深入了解和掌握MySQL5数据库管理系统,为获取MySQL5相关认证提供全面的学习资源。这份文档资料涵盖了MySQL5的基础知识、安装配置、数据类型、SQL语句、表操作、...

    PHP、MySQL与JavaScript学习手册 第4版

    《PHP、MySQL与JavaScript学习手册 第4版》是一本针对初学者和进阶者全面讲解这三种技术的权威指南。本书旨在帮助读者掌握Web开发的核心技能,通过理论结合实践,深入理解PHP、MySQL和JavaScript之间的协作关系,...

    MySQL数据库入门到高级笔记快速学习pdf版本

    这份"MySQL数据库入门到高级笔记快速学习pdf版本"提供了从基础到高级的全面教程,适合不同水平的学习者。以下将详细解析其中涉及的主要知识点: 1. **基本操作**: - **启动与关闭MySQL服务**:可以通过`...

    mysql学习交流

    MYSQL 学习笔记和交流分享 主要介绍了mysql 5特征包括 分区,事件,存储引擎。

    MYSQL开发学习笔记

    ### MySQL开发学习笔记知识点梳理 #### 一、基础知识概述 - **数据库定义**: 数据库(database)是用于存储数据的仓库,它可以高效地存储和处理数据。主要存储介质有两种:磁盘和内存(RAM)。 - **数据库分类**: - *...

    MySQL_5.1_zh.rar_MYSQL_MySQL_5.1_zh_mysql 中文

    6. **事件调度器**:MySQL 5.1 引入了事件调度器,允许用户定时执行特定任务,比如定期备份或清理过期数据。 7. **性能监视和优化**:MySQL 5.1 提供了更强大的性能分析工具,如 Performance Schema,用于监控...

    学习MySQL笔记 MySQL资源

    这份“学习MySQL笔记”资源可能是为了帮助用户深入理解MySQL的各个方面,包括安装、基本操作、查询语言、表设计、索引、事务处理、视图、存储过程、触发器、备份与恢复等。 首先,MySQL的安装是初学者需要掌握的第...

    MYsql培训学习教程

    这份"MYsql培训学习教程"提供了全面的学习资源,帮助初学者和有经验的开发者进一步提升MySQL技能。 首先,我们要了解MySQL的基础概念。MySQL是一个客户端-服务器结构的数据库系统,由客户端应用程序和服务器端程序...

Global site tag (gtag.js) - Google Analytics