MySQLで日付型(DATE)カラムを更新する方法をわかりやすく解説
MySQLでは、DATE_ADD()関数とUPDATE文を組み合わせることで、日付型(DATE)カラムの値を簡単に更新できます。この記事では、実際のSQL実行例を交えながら、日付カラムに1年を加算して更新する手順を解説します。
1. テーブルを作成する
まず、日付型カラムを持つテーブルを作成します。
mysql> create table DemoTable1451
-> (
-> JoiningDate date
-> );
Query OK, 0 rows affected (0.52 sec)
ここでは「JoiningDate(入社日)」という名前のDATE型カラムを1つ持つテーブルを作成しました。
2. テーブルにレコードを挿入する
INSERTコマンドを使って、テーブルに複数の日付データを挿入します。
mysql> insert into DemoTable1451 values('2019-07-21');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable1451 values('2018-01-31');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1451 values('2017-06-01');
Query OK, 1 row affected (0.20 sec)
3. 挿入したレコードを確認する
SELECT文を使って、テーブル内のすべてのレコードを表示します。
mysql> select * from DemoTable1451;
実行結果は以下の通りです。
+-------------+ | JoiningDate | +-------------+ | 2019-07-21 | | 2018-01-31 | | 2017-06-01 | +-------------+ 3 rows in set (0.00 sec)
4. 日付型カラムを更新する
それでは、日付型カラムを更新するクエリを見ていきましょう。ここでは、すべての日付レコードに1年を加算しています。
mysql> update DemoTable1451 set JoiningDate=date_add(JoiningDate, interval 1 year); Query OK, 3 rows affected (0.15 sec) Rows matched: 3 Changed: 3 Warnings: 0
ポイントは date_add(カラム名, interval 1 year) の部分です。interval 1 year を指定することで、既存の日付値に1年分を加算できます。月や日を加算したい場合は、それぞれ interval 1 month、interval 1 day に変更するだけで対応可能です。
5. 更新後のレコードを確認する
もう一度テーブルのレコードを確認してみましょう。
mysql> select * from DemoTable1451;
実行結果は以下の通りです。
+-------------+ | JoiningDate | +-------------+ | 2020-07-21 | | 2019-01-31 | | 2018-06-01 | +-------------+ 3 rows in set (0.00 sec)
すべてのレコードの日付が1年後に更新されていることが確認できました。このように、DATE_ADD()関数を使えば、MySQLの日付型カラムに対して柔軟に加減算を行うことができます。
-
MySQLで列(カラム)を分割する方法!SUBSTRING_INDEX関数の使い方を徹底解説
MySQLで列を分割するには?SUBSTRING_INDEX関数の基本MySQLで1つの列に格納された文字列を区切り文字で分割したい場合、SUBSTRING_INDEX()関数を使用します。この記事では、アンダースコア(_)で区切られた氏名データを分割する具体例を通じて、その使い方をわかりやすく解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Name varchar(40) -> );Query OK, 0 rows affected (1.
-
MySQLのdate()関数で日付を照合し、テーブルの列を更新する方法
MySQLでは、date()関数とcurdate()関数を組み合わせることで、「日付部分だけ」を現在の日付と照合し、該当する行の列を更新できます。datetime型のカラムには時刻情報も含まれていますが、date()関数を使えば時刻を無視して日付のみを比較できるのがポイントです。基本構文date()関数で日付を照合しながら列を更新するための基本的な構文は以下の通りです。update yourTableName set yourColumnName=yourValue where date(yourColumnName)=curdate();サンプルテーブルの作成まず、動作確認用のテーブルを作成