今天想稍微了解一下存储过程和EVENT事件,最好的方法还是直接做一个简单的demo吧

首先可以在mysql表中创建一个users表 除了设置一些username,password等必要字段以外还要设立sex(性别)

这里规定sex = 1为男 sex = 0 为女

然后建立表格genderstatistics(性别统计表)设立两个字段分别为 boy_count,girl_count(男女生数量)

需求

实现当users表中男女生的数量能实时的显示在genderstatistics表中

实现

我是在navicat12 for mysql中新建一个查询开始的

我们先来创建存储过程

DELIMITER //
-- Drop Procedure update_sex 注意这里不能加()
Create Procedure update_sex()
BEGIN
update genderstatistics set genderstatistics.boy_count = (SELECT COUNT(*) from users where users.sex = 0),genderstatistics.girl_count =(SELECT COUNT(*) from users where users.sex = 1) ;
END;
//
DELIMITER;  

修改的时候一直会报错,所以我这里就直接通过删除(drop)再新建来满足我新的需求

以上存储过程大概表达的是 从users表中查询到男女生的数量并更新到genderstatistics表中

然后我们在来尝试建立EVENT

CREATE EVENT IF NOT EXISTS update_boysex
ON SCHEDULE EVERY 1 SECOND
ON COMPLETION PRESERVE ENABLE COMMENT '时刻更新男女生的数量'
Do
BEGIN
Call update_sex();
END

 这里呢是直接在新的查询中创建事件的,你可以直接在Navicat的Event中操作 

当然这样的话写法也会不一样了

好的我们接下来来简单的试验一下吧

当前的男女生数量在genderstatistics表中显示为

我们往users表添加任意数量的男生女生

刷新genderstatiscs表后

再不断的修改或添加或删除users的男生女生人数,不断试验,发现有效。

好啦,简单的利用event和存储过程来操作数据表的实现实时更新的demo就完成啦。

mysql通过event和存储过程实时更新简单Demo的更多相关文章

  1. MySQL 实现将一个库表里面的数据实时更新到另一个库表里面

    MySQL 实现将一个库表里面的数据实时更新到另一个库表里面 需求描述:MySQL 里面有很多的数据库,这些数据库里面都有同一种表结构的表 (tb_warn_log),这张表的数据是实时更新的,现在需 ...

  2. WebSocket 实时更新mysql数据到页面

    使用websocket的初衷是,要实时更新mysql中的报警信息到web页面显示 没怎么碰过web,代码写的是真烂,不过也算是功能实现了,放在这里也是鞭策自己,web也要多下些功夫 准备 引入依赖 & ...

  3. sparkStreaming插入mysql 必须考虑到实时更新老的key

    原先使用批次提交更新 但数据库无变化,不得不一条一条的插入 公司数据量不大  还未做数据量大的测试 但实时更新是可以的 关键sql : insert into area_user_amt (date, ...

  4. MYSQL的存储过程和函数简单写法

    存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] ro ...

  5. mysql定时任务(event事件)

    1.事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...

  6. mysql创建定时执行存储过程任务

    sql语法很多,是一门完整语言.这里仅仅实现一个功能,不做深入研究. 目标:定时更新表或者清空表. 案例:曾经做过定时清空位置信息表的任务.(然而,当时并未考虑服务器挂掉后的情况) 本次测试:每5s更 ...

  7. sphinx通过增量索引实现近实时更新

    一.sphinx增量索引实现近实时更新设置 数据库中的已有数据很大,又不断有新数据加入到数据库中,也希望能够检索到.全部重新建立索引很消耗资源,因为我们需要更新的数据相比较而言很少. 例如.原来的数据 ...

  8. sphinx 增量索引 实现近实时更新

    一.sphinx增量索引的设置   数据库中的已有数据很大,又不断有新数据加入到数据库中,也希望能够检索到.全部重新建立索引很消耗资源,因为我们需要更新的数据相比较而言很少.例如.原来的数据有几百万条 ...

  9. python mysql 视图 触发器 事物 存储过程 用户授权 数据备份还原

    ###################总结########### 视图是一个虚拟表(非真实存在) 是跑在内存中的表,真实表是在硬盘上的表 使用视图我们可以把查询过程中的临时表摘出来,保存下来,用视图去 ...

随机推荐

  1. 项目一:项目第二天 Jquery ztree使用展示菜单数据 2、 基础设置需求分析 3、 搭建项目框架环境--ssh(复习) 4、 SpringData-JPA持久层入门案例(重点) 5、 Easyui menubutton菜单按钮使用 6、 Easyui messager消息框使用

    1. Jquery ztree使用展示菜单数据 2. 基础设置需求分析 3. 搭建项目框架环境--ssh(复习) 4. SpringData-JPA持久层入门案例(重点) 5. Easyui menu ...

  2. 第5季-小试牛刀-项目开发\阶段2-新手上路\项目-移动物体监控系统\Sprint0-产品设计与规划

    lesson1---产品功能展示 先完成准备阶段,准备阶段要做的事情: a.项目经理选择团队, b.根据项目用户需求以及同类型的实物,制定产品功能列表 c.根据功能的难易程度,制定迭代周期以及在每周期 ...

  3. jquery的命名空间

    function A( event ){    alert( 'A' );}function B( event ){    alert( 'B' );}function C( event ){    ...

  4. UVaLive 5031 Graph and Queries (Treap)

    题意:初始时给出一个图,每个点有一个权值,三种操作:(1)删除某个边:(2)修改每个点的权值:(3)询问与节点x在一个连通分量中所有点的第K大的权值. 析:首先是要先离线,然后再倒着做,第一个操作就成 ...

  5. php获取request_uri

    urlParameters = http_build_query( filter_input_array( INPUT_GET, FILTER_SANITIZE_URL ) ); $_request_ ...

  6. Java Script 学习笔记 -- Ajax

    AJAX 一 AJAX预备知识:json进阶 1.1 什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON是用字符串来表示Javas ...

  7. jQuery插件AjaxFileUpload可以实现ajax文件上传

    http://blog.sina.com.cn/s/blog_55e42da60100ocvh.html

  8. KONG -- 配置 service 并添加 key-auth

    默认情况下, KONG 监听下面几个端口: 8000   这个端口用于监听客户端的 HTTP 请求,并转发给上游服务 8443   这个端口用于监听客户端的 HTTPS 请求,并转发给上游服务 800 ...

  9. 面向对象OO第三单元总结

    第三单元OO总结博客 1 梳理JML语言的理论基础.应用工具链情况 由于篇幅原因,这里只梳理几个在本单元常用的 注释结构 行注释://@annotation 块注释:/* @ annotation @ ...

  10. 求第 i 个素数 Meissel Lehmer Algorithm + 二分 【模板】

    1473: L先生与质数V3 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1348  Solved: 147 [Submit][Status][Web ...