返回顶部
首页 > 资讯 > 数据库 >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://lsjlt.com/news/389380.html(转载时请注明来源链接)

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

猜你喜欢
  • Mysql实现定时删除表中的数据
    最近做项目的时候,想要实现一种验证码几分钟内有效的功能,于是就想到了定时删除数据库中存在的数据从而实现该功能,然后温习了一下数据库事件、定时器的相关功能,查询了一些文章,在此分享一下实现的方法。 首先看一下自己的mysql有没有开启事件调度...
    99+
    2023-09-01
    mysql 数据库 后端
  • mysql数据库中定时删除的方法
    这篇文章将为大家详细讲解有关mysql数据库中定时删除的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql数据库中设置定时删除的方法:首先打开mysql文件;然...
    99+
    2024-04-02
  • redis定时删除数据如何实现
    在Redis中实现定时删除数据可以通过以下步骤实现: 使用Redis的过期功能:Redis提供了key的过期功能,可以设置key...
    99+
    2024-04-02
  • PHP如何定时删除MySQL的数据
    这篇“PHP如何定时删除MySQL的数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP如何定时删除MySQL的数据”文...
    99+
    2023-07-05
  • mysql删除表中数据的方法
    这期内容当中小编将会给大家带来有关mysql删除表中数据的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。语句为“DELETE FROM 表名称 WHER...
    99+
    2024-04-02
  • MySQL如何删除表中的数据
    目录如何删除表中的数据一、delete删除表中的数据二、drop删除表中的数据三、truncate删除表中的数据删除表数据但不删除表结构SQL语句下面是两种SQL语句如何删除表中的数据 mysql删除表中的数据...
    99+
    2024-04-02
  • mysql中删除数据表的语句
    在 mysql 中,删除数据表的语句为:drop table 表名。该语句将永久删除指定名称的数据表及其中的所有数据,因此在使用前应确保不再需要该数据。 MySQL 中删除数据表的语句...
    99+
    2024-05-01
    mysql
  • mysql如何删除数据表中的行数据
    小编给大家分享一下mysql如何删除数据表中的行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在mysql中可以使用DELE...
    99+
    2024-04-02
  • MySQL数据库中怎么定期删除日志表
    这篇文章将为大家详细讲解有关MySQL数据库中怎么定期删除日志表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 开启事件调度器set glob...
    99+
    2024-04-02
  • mysql如何删除数据库中的表
    小编给大家分享一下mysql如何删除数据库中的表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基本语法当需要删除一个表的时候,可...
    99+
    2024-04-02
  • mysql如何删除数据表和关联的数据表删除详情
    目录前言一、mysql删除没有被关联的表二、删除被其他表关联的主表前言 删除数据表的时候,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。 mysql删除数...
    99+
    2022-07-26
    mysql删除数据表 mysql关联数据表删除
  • MySQL中怎么删除多表数据
    MySQL中怎么删除多表数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  MySQL删除多表数据有哪些问题  1、delete...
    99+
    2024-04-02
  • mysql数据库中表怎么删除
    删除 mysql 数据库中的表的步骤如下:确保拥有删除权限。使用 drop table table_name 命令删除表。可使用附加选项,如级联删除外键 (cascade) 或检查表是否...
    99+
    2024-08-05
    mysql 数据丢失
  • mysql删除数据表的方法
    这篇文章主要介绍mysql删除数据表的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在mysql中可以使用“DROP TABLE”来删除一个或多个数据表,语法格式“DROP TA...
    99+
    2024-04-02
  • MySQL删除数据表的指令
    本篇内容介绍了“MySQL删除数据表的指令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL 删除数...
    99+
    2024-04-02
  • mysql如何删除数据表中的全部数据
    mysql如何删除数据表中的全部数据?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql删除数据表中的全部数据的方法:...
    99+
    2024-04-02
  • MySQL中数据表如何实现数据插入、更新、删除操作
    小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、插入数据 ...
    99+
    2024-04-02
  • mysql删除不用表数据
    MySQL删除数据几种情况以及是否释放磁盘空间:1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ; 2、truncate table tab...
    99+
    2024-04-02
  • mysql如何删除数据表
    在 MySQL 中删除数据表有两种方式: 使用 DROP TABLE 语句: DROP TABLE table_name; 其...
    99+
    2024-04-09
    mysql
  • 如何实现MySQL中删除数据的语句?
    如何实现MySQL中删除数据的语句?数据库管理系统中,删除数据是常见的操作之一。MySQL作为一款常用的关系型数据库管理系统,提供了简单且有效的删除数据的语句。在本文中,我们将讨论如何实现MySQL中删除数据的语句,包括具体的代码示例和一些...
    99+
    2023-11-08
    删除 数据 编程关键词:mySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作