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

SQLのユーザー定義変数に増分値を設定して、複数のタイムスタンプ値をインクリメントします


インクリメントされた値は、以下に示すようにユーザー定義変数に設定できます。ここで、「yourValue」は増分値です。その後、MySQL UPDATEを使用して列を更新し、タイムスタンプ値をインクリメントします-

set @anyVariableName :=yourValue;
update yourTableName set yourColumnName=yourColumnName+interval (@yourVariableName) second;

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

mysql> create table DemoTable
(
   DueDatetime timestamp
);
Query OK, 0 rows affected (0.73 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('2019-01-31 12 :30 :40');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values('2019-09-06 10 :00 :00');
Query OK, 1 row affected (0.73 sec)
mysql> insert into DemoTable values('2019-09-07 11 :10 :24');
Query OK, 1 row affected (0.25 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-----------------------+
| DueDatetime       |
+-----------------------+
| 2019-01-31 12 :30 :40 |
| 2019-09-06 10 :00 :00 |
| 2019-09-07 11 :10 :24 |
+-----------------------+
3 rows in set (0.00 sec)

以下は、複数のタイムスタンプ値をインクリメントするクエリです-

mysql> set @secondValue :=12;
Query OK, 0 rows affected (0.00 sec)
mysql> update DemoTable set DueDatetime=DueDatetime+interval (@secondValue) second;
Query OK, 3 rows affected (0.99 sec)
Rows matched : 3 Changed : 3 Warnings : 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable;

これにより、次の出力が生成されます。タイムスタンプ値がインクリメントされるようになりました-

+-----------------------+
| DueDatetime           |
+-----------------------+
| 2019-01-31 12 :30 :52 |
| 2019-09-06 10 :00 :12 |
| 2019-09-07 11 :10 :36 |
+-----------------------+
3 rows in set (0.00 sec)

  1. MySQLオプションのデフォルト、値を期待するオプション、および=記号

    デフォルトのオプション、値を期待するオプション、およびMySQLの「=」記号を理解しましょう- 慣例により、値を割り当てる長い形式のオプションは、等号(=)を使用して記述されます。以下に示します- mysql --host=tonfisk --user=jon 値が必要なオプション、つまりデフォルト値がないオプションの場合、等号は必要ありません。これは、以下のコマンドがそのような場合に有効であることを意味します- mysql --host tonfisk --user jon 上記のどちらの場合も、mysqlクライアントは、ユーザー名が「jon」のアカウントを使用して、「tonfisk」

  2. MySQLコマンドラインクライアント

    mysqlは、入力行編集機能を備えた単純なSQLシェルです。インタラクティブおよび非インタラクティブな使用法をサポートします。インタラクティブに使用する場合、クエリ結果はASCIIテーブル形式で表示されます。フィルタのように非対話的に使用すると、結果はタブ区切り形式で表示されます。 出力形式は、コマンドオプションを使用して変更できます。大きな結果セットに対してメモリが不足しているために問題が発生した場合は、-quickオプションを使用できます。 これにより、mysqlは、結果セット全体を一度に取得して表示される前にメモリにバッファリングするのではなく、一度に1行ずつサーバーから結果を取得す