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

MySQLの日付列に現在の日付が自動的に入力されますか?


これには、デフォルトの自動入力と現在の日時でnow()を使用できます。後で、date()関数を使用して日付部分を抽出できます。

ケース1:

構文は次のとおりです。

yourDateColumnName date default ‘yourDateValue’;

ケース2:

構文は次のとおりです。

yourDateColumnName datetime default now();

上記を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table DefaultCurrentdateDemo
   -> (
   -> LoginDate datetime default now()
   -> );
Query OK, 0 rows affected (0.59 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。

mysql> insert into DefaultCurrentdateDemo values();
Query OK, 1 row affected (0.18 sec)

mysql> insert into DefaultCurrentdateDemo values('2017-11-19');
Query OK, 1 row affected (0.16 sec)

mysql> insert into DefaultCurrentdateDemo values('2018-10-21');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DefaultCurrentdateDemo values();
Query OK, 1 row affected (0.23 sec)

mysql> insert into DefaultCurrentdateDemo values('2020-12-24');
Query OK, 1 row affected (0.12 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from DefaultCurrentdateDemo;

出力は次のとおりです。

+---------------------+
| LoginDate |
+---------------------+
| 2019-01-12 20:33:51 |
| 2017-11-19 00:00:00 |
| 2018-10-21 00:00:00 |
| 2019-01-12 20:34:37 |
| 2020-12-24 00:00:00 |
+---------------------+
5 rows in set (0.00 sec)

日付のみを抽出する場合は、date()メソッドを使用します。クエリは次のとおりです。

mysql> select date(LoginDate) as OnlyDate from DefaultCurrentdateDemo;

出力は次のとおりです。

+------------+
| OnlyDate |
+------------+
| 2019-01-12 |
| 2017-11-19 |
| 2018-10-21 |
| 2019-01-12 |
| 2020-12-24 |
+------------+
5 rows in set (0.00 sec)

ある日付でデフォルト値を設定しましょう。

日付列のデフォルト値を作成するためのクエリは次のとおりです。

mysql> create table DefaultDate
   -> (
   -> LoginDate date default '2019-01-12'
   -> );
Query OK, 0 rows affected (0.53 sec)

列に値を渡さない場合、デフォルト値が列に提供されます。レコードを挿入するためのクエリは次のとおりです。

mysql> insert into DefaultDate values();
Query OK, 1 row affected (0.13 sec)

を使用してテーブルのすべてのレコードを表示します

ステートメントを選択します。クエリは次のとおりです。

mysql> select *from DefaultDate;

出力は次のとおりです。

+------------+
| LoginDate  |
+------------+
| 2019-01-12 |
+------------+
1 row in set (0.00 sec)

  1. MySQLクエリで日付/時刻の値を秒単位でインクリメントしますか?

    これには、intervalコマンドでdate_add()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1867      (      ArrivalTime datetime      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1867 values('2019-1

  2. MySQLでJavaを使用して、現在の日付に数か月追加しますか?

    以下は、Java-MySQLでINTERVALを使用して月を追加するための構文です。 String query; query = "insert into yourTableName values(curdate()+interval howManyNumberOfMonths month)"; 以下は現在の日付です- mysql> select curdate(); +------------+ | curdate() | +------------+ | 2020-10-25 | +------------+ 1 row in set (0.00 sec)