如何在MySQL中刪除超過14天的行?
要刪除,使用 MySQL DELETE。但是,要獲取超過 14 天的記錄,請將當前日期減去 14 天的日期間隔。以下顯示了相同的語法:-
delete from yourTableName where yourColumnName< (curdate() - interval 14 day);
讓我們首先建立一個表:-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, DueDate date ); Query OK, 0 rows affected (0.50 sec)
使用 insert 命令在表中插入一些記錄:-
mysql> insert into DemoTable(DueDate) values('2019-08-20');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(DueDate) values('2019-08-19');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(DueDate) values('2018-08-19');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(DueDate) values('2018-08-18');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(DueDate) values('2019-08-15');
Query OK, 1 row affected (0.23 sec)使用 select 語句從表中顯示所有記錄:-
mysql> select *from DemoTable ;
這將產生以下輸出:-
+----+------------+ | Id | DueDate | +----+------------+ | 1 | 2019-08-20 | | 2 | 2019-08-19 | | 3 | 2018-08-19 | | 4 | 2018-08-18 | | 5 | 2019-08-15 | +----+------------+ 5 rows in set (0.00 sec)
以下是刪除超過 14 天的行是的查詢:-
mysql> delete from DemoTable where DueDate − (curdate() - interval 14 day); Query OK, 4 rows affected (0.62 sec)
讓我們再次檢查表記錄:-
mysql> select *from DemoTable;
這將產生以下結果。現在,所有 14 天前的行都將被刪除:-
+----+------------+ | Id | DueDate | +----+------------+ | 1 | 2019-08-20 | +----+------------+ 1 row in set (0.00 sec)
廣告
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP