- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to delete rows older than 14 days in MySQL?
To delete, use MySQL DELETE. However, to get records older than 14 days, subtract the current date with date interval of 14 days. The syntax for the same is shown below −
delete from yourTableName where yourColumnName< (curdate() - interval 14 day);
Let us first create a table −
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, DueDate date ); Query OK, 0 rows affected (0.50 sec)
Insert some records in the table using insert command −
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)
Display all records from the table using select statement −
mysql> select *from DemoTable ;
This will produce the following output −
+----+------------+ | 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)
Following is the query to delete rows older than 14 days −
mysql> delete from DemoTable where DueDate − (curdate() - interval 14 day); Query OK, 4 rows affected (0.62 sec)
Let us check the table records once again −
mysql> select *from DemoTable;
This will produce the following output. Now, all the rows older than 14 days are deleted −
+----+------------+ | Id | DueDate | +----+------------+ | 1 | 2019-08-20 | +----+------------+ 1 row in set (0.00 sec)
- Related Articles
- MySQL query to delete all rows older than 30 days?
- Deleting all rows older than 5 days in MySQL
- MySQL query to delete a DATE older than 30 days from another date?
- MySQL query to select rows older than a week?
- Delete records where timestamp older than 5 minutes in MySQL?
- Selecting rows that are older than current date in MySQL?
- Fetching rows updated at timestamp older than 1 day in MySQL?
- MySQL query to fetch date more recent than 14 days?
- How to delete all rows except some in MySQL?
- Delete more than one rows from a table using id in MySQL?
- How do I delete blank rows in MySQL?
- Order records and delete n rows in MySQL
- How can we delete multiple rows from a MySQL table?
- How can we delete all rows from a MySQL table?
- Delete only specific rows in a table with MySQL

Advertisements