﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>データベース  |  Web Creators Hub</title>
	<atom:link href="https://web-creators-hub.com/category/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/feed/" rel="self" type="application/rss+xml" />
	<link>https://web-creators-hub.com</link>
	<description>WEB技術などの情報をわかりやすく配信するメディア</description>
	<lastBuildDate>Wed, 08 Feb 2023 01:56:31 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.8.2</generator>
	<item>
		<title>【MySQL】一定期間、特定の日付より以前のレコードを削除する cron設定有</title>
		<link>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/</link>
		<pubDate>Fri, 15 Nov 2019 07:47:04 +0000</pubDate>
		<dc:creator><![CDATA[taizo]]></dc:creator>
				<category><![CDATA[データベース]]></category>

		<guid isPermaLink="false">https://web-creators-hub.com/?p=455</guid>
		<description><![CDATA[低スペックのサーバを運用していると数十万行のレコードがあると重くなったりする場合があります。 そんなときに役立つSQL文をまとめました。 特...]]></description>
				<content:encoded><![CDATA[<p>低スペックのサーバを運用していると数十万行のレコードがあると重くなったりする場合があります。<br />
そんなときに役立つSQL文をまとめました。</p>
<h2>特定の日付より以前のレコードを削除</h2>
<pre class="brush: bash; title: ; notranslate">
DELETE FROM [テーブル名] WHERE [日付カラム] &lt; '2019-01-01 00:00:00';
</pre>
<h2>一定期間が過ぎたら削除</h2>
<p>例：現在から1カ月経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 1 MONTH));
</pre>
<p>例：現在から半年経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 6 MONTH));
</pre>
<p>例：現在から1年経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 1 YEAR));
</pre>
<h2>コマンド</h2>
<p>例：現在から1カ月経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
mysql --user=[ユーザー名] --password=[パスワード] --database=[DB名] --execute=&quot;DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 1 MONTH))&quot;
</pre>
<p>例：現在から半年経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
mysql --user=[ユーザー名] --password=[パスワード] --database=[DB名] --execute=&quot;DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 6 MONTH))&quot;
</pre>
<p>例：現在から1年経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
mysql --user=[ユーザー名] --password=[パスワード] --database=[DB名] --execute=&quot;DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 1 YEAR))&quot;
</pre>
<h2>cron設定</h2>
<pre>
cronの仕様
分 時 日 月 曜日 コマンド
※曜日は日(0)-土(6)
</pre>
<p>例：毎日3時に実行　現在から1カ月経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
0 3 * * * mysql --user=[ユーザー名] --password=[パスワード] --database=[DB名] --execute=&quot;DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 1 MONTH))&quot;
</pre>
<p>例：毎週日曜日3時に実行　現在から半年経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
0 3 * * 0 mysql --user=[ユーザー名] --password=[パスワード] --database=[DB名] --execute=&quot;DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 6 MONTH))&quot;
</pre>
<p>例：毎月1日に実行　現在から1年経過したデータは削除</p>
<pre class="brush: bash; title: ; notranslate">
0 0 1 * * mysql --user=[ユーザー名] --password=[パスワード] --database=[DB名] --execute=&quot;DELETE FROM [テーブル名] WHERE ([日付カラム] &lt; DATE_SUB(CURDATE(), INTERVAL 1 YEAR))&quot;
</pre>
]]></content:encoded>
			</item>
	</channel>
</rss>
