MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで現在の日付・時刻を挿入する方法(CURDATE()とNOW()の使い方)

MySQLで日付だけを登録したい場合はCURDATE()関数を使用します。一方、日付と時刻の両方を含む完全な日時を登録したい場合は、NOW()関数を使います。この記事では、それぞれの関数の使い方を具体的な例とともに解説します。

1. CURDATE()を使って日付のみを挿入する

まずはテーブルを作成しましょう。

mysql> create table CurDateDemo
   -> (
   -> ArrivalDate datetime
   -> );
Query OK, 0 rows affected (0.74 sec)

次に、CURDATE()メソッドを使用して日付のみを挿入します。

mysql> insert into CurDateDemo values(curdate());
Query OK, 1 row affected (0.15 sec)

挿入結果の確認

SELECT文を使って挿入されたデータを表示してみましょう。

mysql> select *from CurDateDemo;

実行結果は以下の通りです。

+---------------------+
| ArrivalDate         |
+---------------------+
| 2018-11-23 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

このように、CURDATE()を使うと時刻部分が「00:00:00」となり、日付のみが登録された状態になります。

2. NOW()を使って日付と時刻の両方を挿入する

続いて、日付と時刻の両方を登録するケースを見ていきましょう。まず新しいテーブルを作成します。

mysql> create table NowDemo
   -> (
   -> ArrivalDate datetime
   -> );
Query OK, 0 rows affected (0.47 sec)

NOW()メソッドを使えば、日付と時刻を同時に挿入できます。レコードを挿入するクエリは以下の通りです。

mysql> insert into NowDemo values(now());
Query OK, 1 row affected (0.16 sec)

挿入結果の確認

データが正しく挿入されているか、SELECT文で確認します。

mysql> select *from NowDemo;

実行結果は以下の通りです。

+---------------------+
| ArrivalDate         |
+---------------------+
| 2018-11-23 17:31:26 |
+---------------------+
1 row in set (0.00 sec)

まとめ

  • CURDATE():現在の日付のみを挿入したい場合に使用(時刻は00:00:00になる)
  • NOW():現在の日付と時刻の両方を挿入したい場合に使用

用途に応じてこれら2つの関数を使い分けることで、MySQLでの日時データ管理を効率的に行えます。なお、DATETIME型以外にもDATE型やTIMESTAMP型との組み合わせも可能なので、テーブル設計時に適切な型を選択することをおすすめします。

  1. 【MySQL】すでに挿入されている日時レコードに「現在時刻−1時間」を設定する方法

    はじめにMySQLで日時から時間を引いて計算したい場合は、DATE_SUB()関数を使用します。本記事では、テーブルにすでに挿入されている日時レコードに対して、「現在時刻から1時間を引いた値」を設定する方法を、実際のコード例とともに順を追って解説します。1. テーブルの作成まず、DATETIME型のカラムを持つテーブルを作成しましょう。mysql> create table DemoTable1434 -> ( -> ArrivalDatetime datetime -> );Query OK, 0 rows affected (3.14 sec)2.

  2. MySQLで現在の日付に11日を追加する方法【DATE_ADD関数の使い方】

    はじめにMySQLでは、DATE_ADD()関数を使うことで、日付に指定した日数を簡単に加算できます。本記事では、現在の日付(CURDATE())に11日を追加する方法を、テーブル作成からクエリ実行まで具体的な例を交えて解説します。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1994 ( ArrivalDate date ); Query OK, 0 rows affected (5.33 sec)テストデータの挿入続いて、INSERTコマンドを使用してテーブルに複数のレコードを挿入します。mysql&g