UPDATEを実行する場合…datetime=NOW();更新されたすべての行は、mysqlで同じ日付/時刻になりますか?
now()関数は、ステートメントの実行が開始された時刻を示す定数時間を返します。 sysdate()関数は、MySQL5.0.13からステートメントを実行したのとまったく同じ日時を返します。
トリガーまたはストアドプロシージャでnow()を使用して日時を更新する場合、now()メソッドは、トリガーおよびストアドプロシージャの実行を開始する時刻を返します。
これがnow()による更新のデモです。まず、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table NowDemo -> ( -> DueDateTime datetime -> ); Query OK, 0 rows affected (0.51 sec)
挿入コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです-
mysql> insert into NowDemo values('2018-12-19'); Query OK, 1 row affected (0.15 sec) mysql> insert into NowDemo values('2018-11-10'); Query OK, 1 row affected (0.20 sec) mysql> insert into NowDemo values('2017-11-21'); Query OK, 1 row affected (0.09 sec)
selectステートメントを使用して、テーブルのすべてのレコードを確認します。クエリは次のとおりです-
mysql> select *from NowDemo;
出力
+---------------------+ | DueDateTime | +---------------------+ | 2018-12-19 00:00:00 | | 2018-11-10 00:00:00 | | 2017-11-21 00:00:00 | +---------------------+ 3 rows in set (0.00 sec)
これは、すべての値を更新するnow()で日時列を更新するためのクエリです。
クエリは次のとおりです-
mysql> update NowDemo set DueDateTime = now(); Query OK, 3 rows affected (0.12 sec) Rows matched: 3 Changed: 3 Warnings: 0
selectコマンドを使用して更新された値を確認します。クエリは次のとおりです-
mysql> select *from NowDemo;
以下は、すべての行が同じ日時になったことを示す出力です-
+---------------------+ | DueDateTime | +---------------------+ | 2018-12-20 16:10:00 | | 2018-12-20 16:10:00 | | 2018-12-20 16:10:00 | +---------------------+ 3 rows in set (0.00 sec)
クエリは次のとおりです-
mysql> update NowDemo set DueDateTime = sysdate(); Query OK, 3 rows affected (0.43 sec) Rows matched: 3 Changed: 3 Warnings: 0
selectステートメントを使用して、テーブルから更新された値を確認します。クエリは次のとおりです-
mysql> select *from NowDemo;
以下は、すべての行が同じ日時になったことを示す出力です-
+---------------------+ | DueDateTime | +---------------------+ | 2018-12-20 16:10:35 | | 2018-12-20 16:10:35 | | 2018-12-20 16:10:35 | +---------------------+ 3 rows in set (0.00 sec)
-
MySQLで異なるIDを持つ同じテーブルから共通の値を持つ行を取得します
このために、GROUPBYHAVING句を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1467 -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.64 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1467 value
-
MySQLで同時に複数のデータを入力しますか?
以下は構文です- insert into yourTableName values(yourValue1,yourValue2,.....N), (yourValue1,yourValue2,.....N), (yourValue1,yourValue2,.....N), (yourValue1,yourValue2,.....N), . . . N テーブルを作成しましょう- mysql> create table demo56 −> ( −> id int, −> first_name varchar(20), −&