MySQL:删除10分钟之前的所有行

MySQL:删除10分钟之前的所有行

在某些场景中,我们需要定期清除数据库中的一些早期数据,以尽量减少占用硬盘空间的情况。本文将介绍一种删除 MySQL 数据库表中 10 分钟之前的所有行的方法。

阅读更多:MySQL 教程

步骤 1: 创建测试表格

首先,我们需要创建一个测试数据表格,以便后面演示删除行的操作。

CREATE TABLE test_table (
    id INT(11) NOT NULL AUTO_INCREMENT,
    data VARCHAR(255) NOT NULL,
    created_at TIMESTAMP NOT NULL,
    PRIMARY KEY (id)
);

步骤 2:插入测试数据

我们需要向测试表格中插入几行数据,以便进行删除操作。在此处,我们将插入 3 行数据,一个现在的时间和两个早于 10 分钟的时间戳。

INSERT INTO test_table (data, created_at) VALUES ('Test 1', NOW()), ('Test 2', DATE_SUB(NOW(), INTERVAL 5 MINUTE)), ('Test 3', DATE_SUB(NOW(), INTERVAL 15 MINUTE));

步骤 3:删除 10 分钟之前的所有行

下面是删除 10 分钟之前的所有行的 SQL 语句:

DELETE FROM test_table WHERE created_at < DATE_SUB(NOW(), INTERVAL 10 MINUTE);

以上 SQL 语句将删除创建时间早于当前时间的 10 分钟的所有行。

步骤 4:查看剩余数据

让我们运行以下 SQL 语句以查看删除之后的数据集:

SELECT * FROM test_table;

您将看到只有当前时间的一行数据。

总结

以上是如何删除 MySQL 数据库表中早于 10 分钟的所有行的简单方法。该操作可用于定期清洗旧数据,从而减少数据库服务的空间占用率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程