以下是语法-
delete from yourTableName where yourColumnName < (yourAnotherDateValue - INTERVAL 30 DAY);
让我们首先创建一个表-
mysql> create table DemoTable ( DueDate date );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values('2019-08-25'); mysql> insert into DemoTable values('2019-07-01'); mysql> insert into DemoTable values('2019-06-20'); mysql> insert into DemoTable values('2019-09-02');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+------------+ | DueDate | +------------+ | 2019-08-25 | | 2019-07-01 | | 2019-06-20 | | 2019-09-02 | +------------+ 4 rows in set (0.00 sec)
以下是从另一个日期删除早于30天的DATE的查询-
mysql> delete from DemoTable where DueDate < ('2019-08-31' - INTERVAL 30 DAY);
让我们再次检查表记录-
mysql> select *from DemoTable;
这将产生以下输出-
+------------+ | DueDate | +------------+ | 2019-08-25 | | 2019-09-02 | +------------+ 2 rows in set (0.00 sec)