Memo

メモ > 技術 > データベース: MySQL > データ削除

■データ削除
■TRUNCATEで削除 一例だが以下のようにすると、データをすべて削除できる DELETEと違い、オートインクリメントもリセットされる
TRUNCATE TABLE users;
全データの削除(TRUNCATE文) - データの追加と削除 - MySQLの使い方 https://www.dbonline.jp/mysql/insert/index12.html ■一定期間経過したデータを削除 一例だが以下のようにすると、一定期間経過したデータをそれぞれ削除できる
# 30秒 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 30 SECOND)); # 30分 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 30 MINUTE)); # 12時間 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 12 HOUR)); # 1日 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 1 DAY)); # 1週間 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 1 WEEK)); # 10日 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 10 DAY)); # 1ヶ月 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 1 MONTH)); # 半年 DELETE FROM histories WHERE (created < DATE_SUB(CURDATE(), INTERVAL 6 MONTH));
以下のページで、Cronと合わせて自動削除する例が紹介されている 【MySQL】一定期間、特定の日付より以前のレコードを削除する cron設定有 https://web-creators-hub.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/mysql_date_del/

Advertisement