日付列がDATETIME形式である特定の日付より前のMySQLテーブルからすべてのレコードを削除するにはどうすればよいですか?
日時の例は2011-09-21 08:21:22
。
DELETE FROM table WHERE date < '2011-09-21 08:21:22';
これにより、さまざまな属性に基づいてデータを削除できました。これは危険ですので、実行する前に必ずデータベースまたはテーブルをバックアップしてください。
mysqldump -h hotsname -u username -p password database_name > backup_folder/backup_filename.txt
これで、削除操作を実行できます。
delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 1 DAY)
これにより、1日前からすべてのデータが削除されます。 6か月前より前のデータを削除する場合:
delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 6 MONTH)
昨日まで結果を表示するには
WHERE DATE(date_time) < CURDATE()
10日間の結果を表示するには
WHERE date_time < NOW() - INTERVAL 10 DAY
10日前に結果を表示するには
WHERE DATE(date_time) < DATE(NOW() - INTERVAL 10 DAY)
これらはあなたのために働くでしょう
このような日付を見つけることができます
SELECT DATE(NOW() - INTERVAL 11 DAY)