广告
返回顶部
首页 > 资讯 > 数据库 >Mysql实现定时删除表中的数据
  • 338
分享到

Mysql实现定时删除表中的数据

mysql数据库后端 2023-09-01 19:09:46 338人浏览 泡泡鱼
摘要

最近做项目的时候,想要实现一种验证码几分钟内有效的功能,于是就想到了定时删除数据库中存在的数据从而实现该功能,然后温习了一下数据库事件、定时器的相关功能,查询了一些文章,在此分享一下实现的方法。 首先看一下自己的Mysql有没有开启事件调度

最近做项目的时候,想要实现一种验证码几分钟内有效的功能,于是就想到了定时删除数据库中存在的数据从而实现该功能,然后温习了一下数据库事件、定时器的相关功能,查询了一些文章,在此分享一下实现的方法。

首先看一下自己的Mysql有没有开启事件调度器,在mysql图形化界面新建查询或者直接在Mysql中输入以下代码

show variables like '%event_scheduler%';

得到结果应该如下图

7bdff3d53d1c46b7afd3a36ce219e111.png

Value属性为ON则表示已经打开,如果显示为OFF,则输入以下语句

set global event_scheduler=1;     

 之后该value值就变成on了,我们便可以开始定时删除数据的操作

首先查看你的表,在其中插入一条表示时间的列,用于记录比较,可以参考下我的(红框圈住的)

4c80bd5e9b2e41428d947c140851667a.png

其中,列名起的名字后面要用,我这里起的是time,大家可以看一下我后面代码里面time字段要替换为你起的名字。数据类型选择timestamp(时间戳),默认值CURRENT_TIMESTAMP,这两个必须固定,默认值的作用是会在你插入数据是自动产生一个当前时间插入你的数据中。 

 这两步完成之后,就可以直接输入sql语句

USE xxx1;CREATE EVENT xxx2ON SCHEDULEEVERY 1 MINUTE DODELETE FROM xxx3 WHERE TIME< DATE_SUB(CURRENT_TIMESTAMP,INTERVAL 1 MINUTE);

解释一下,xxx1是你的数据库名,xxx2是事件名,你自己起一个就行,xxx3是你的表名。time替换为你的列名。

这里面有两个时间,第一个EVERY 1 MINUTE的意思是每1分钟调用一次该事件,第二个INTERVAL 1 MINUTE的意思是一分钟时间,DATE_SUB将CURRENT_TIMESTAMP也就是当前时间和1分钟相减,也就是当前时间再往前推一分钟(比如当前时间是11:49,往前推一分钟就是11:48)。如果TIME字段的值小于该值,也就说明time值为比当前时间一分钟以前更久远的数据,where条件成立,执行delete语句。

这两个时间都可以根据自己需要进行改动。

然后就可以实现每一分钟删除一次已存在时间超过一分钟的数据啦!(当然会有时间误差,因为是一分钟调用一次,假如调用的时候是59秒,那就会在1分59秒删除)

同时在这里说一下mysql里面时间大小的比较,比较通俗的说,越早的数据越小,也就是2021年10月1日减去2021年9月30日得到的结果是正的,反之是负的。

 

来源地址:https://blog.csdn.net/qq_53137566/article/details/130132508

您可能感兴趣的文档:

--结束END--

本文标题: Mysql实现定时删除表中的数据

本文链接: https://www.lsjlt.com/news/389380.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql实现定时删除表中的数据
    最近做项目的时候,想要实现一种验证码几分钟内有效的功能,于是就想到了定时删除数据库中存在的数据从而实现该功能,然后温习了一下数据库事件、定时器的相关功能,查询了一些文章,在此分享一下实现的方法。 首先看一下自己的mysql有没有开启事件调度...
    99+
    2023-09-01
    mysql 数据库 后端
  • mysql数据库中定时删除的方法
    这篇文章将为大家详细讲解有关mysql数据库中定时删除的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql数据库中设置定时删除的方法:首先打开mysql文件;然...
    99+
    2022-10-18
  • PHP如何定时删除MySQL的数据
    这篇“PHP如何定时删除MySQL的数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP如何定时删除MySQL的数据”文...
    99+
    2023-07-05
  • mysql删除表中数据的方法
    这期内容当中小编将会给大家带来有关mysql删除表中数据的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。语句为“DELETE FROM 表名称 WHER...
    99+
    2022-10-18
  • MySQL如何删除表中的数据
    目录如何删除表中的数据一、delete删除表中的数据二、drop删除表中的数据三、truncate删除表中的数据删除表数据但不删除表结构SQL语句下面是两种SQL语句如何删除表中的数据 mysql删除表中的数据...
    99+
    2022-11-09
  • MySQL数据库中怎么定期删除日志表
    这篇文章将为大家详细讲解有关MySQL数据库中怎么定期删除日志表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 开启事件调度器set glob...
    99+
    2022-10-18
  • mysql如何删除数据表和关联的数据表删除详情
    目录前言一、mysql删除没有被关联的表二、删除被其他表关联的主表前言 删除数据表的时候,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。 mysql删除数...
    99+
    2022-07-26
    mysql删除数据表 mysql关联数据表删除
  • mysql如何删除数据表中的行数据
    小编给大家分享一下mysql如何删除数据表中的行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在mysql中可以使用DELE...
    99+
    2022-10-18
  • MySQL删除数据表的指令
    本篇内容介绍了“MySQL删除数据表的指令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL 删除数...
    99+
    2022-10-18
  • mysql删除数据表的方法
    这篇文章主要介绍mysql删除数据表的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在mysql中可以使用“DROP TABLE”来删除一个或多个数据表,语法格式“DROP TA...
    99+
    2022-10-18
  • mysql如何删除数据库中的表
    小编给大家分享一下mysql如何删除数据库中的表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基本语法当需要删除一个表的时候,可...
    99+
    2022-10-18
  • MySQL定时删除XX天数据示例代码
    目录写在前面mysql删除策略如何使用小结写在前面 定时删除数据方式有多种方法,在实际工作中很多人可能会通过编码实现,也有人可能会通过脚本定时执行SQL进行定时删除对应数据。 今天使用MySQL自带的删除策略。 MYSQ...
    99+
    2023-09-21
    MySQL定时删除数据 MySQL定时删除
  • MySQL中怎么删除多表数据
    MySQL中怎么删除多表数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  MySQL删除多表数据有哪些问题  1、delete...
    99+
    2022-10-18
  • mysql如何删除数据表中的全部数据
    mysql如何删除数据表中的全部数据?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql删除数据表中的全部数据的方法:...
    99+
    2022-10-18
  • MySQL 删除表中的数据记录详解
      目录 前言言 一、删除表中的数据记录? 1.删除特定数据记录 2.删除所有数据记录 总结 前言         删除数据记录是数据操作中常见的操作,可以删除表中已经存在的数据记录。在MySQL中可以通过DELETE语句来删...
    99+
    2023-09-11
    mysql 数据库 sql
  • MySql中删除数据表的方法详解
    目录定义:1 删除一个或多个没有被其他表关联的数据表1.1 新建一张表1.2 执行删除命令1.3 结果检查2 删除被其他表关联的主表2.1 创建两张具有关联关系的表2.2 执行删除DROP TABLE命令2.3 取消外键...
    99+
    2022-08-09
    mysql怎么删除数据库中的表 mysql删除数据表的方法 MySQL删除数据表
  • 如何删除mysql表中的一条数据
    要删除MySQL表中的一条数据,可以使用DELETE语句。以下是删除表中一条数据的基本语法:```DELETE FROM 表...
    99+
    2023-08-09
    mysql
  • MySQL中数据表如何实现数据插入、更新、删除操作
    小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、插入数据 ...
    99+
    2022-10-18
  • mysql如何删除表中一行数据
    可以使用DELETE语句来删除表中的一行数据。DELETE FROM 表名 WHERE 条件;其中,表名是要删除数据...
    99+
    2023-10-07
    mysql
  • mysql 大表批量删除大量数据的实现方法
    问题参考自:https://www.zhihu.com/question/440066129/answer/1685329456 ,mysql中,一张表里有3亿数据,未分表,其中一个字段是企业类型,企业类型是一般企业...
    99+
    2022-05-11
    mysql 大表批量删除 mysql 大表批量
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作