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)
-
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
-
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)