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

MySQLで変数を宣言する方法は?


SELECTおよびSETコマンドを使用して、MySQLで変数を宣言できます。変数を宣言する前に、記号「@」の接頭辞を付ける必要があります

構文は次のとおりです-

SELECT @ yourVariableName;

記号「@」は、それがユーザー定義変数であるかどうかを示します。シンボルがない場合、それはローカル変数であることを意味します。 2つの「@@」のプレフィックスはサーバーシステム変数を示します。

ここでは、ユーザー定義変数について学習します。 SETコマンドを使用して、変数に値を設定できます。

構文は次のとおりです-

SET @yourVariableName=value;

− SELECTステートメントでは、「yourVariableName」にNULL値が含まれ、SETコマンドを使用した後、指定した値が含まれます。

次に、上記のクエリを適用して確認します。まず、変数を宣言しましょう。

mysql> SELECT @engine;

上記のクエリを実行した後、変数は最初にNULL値を取得します。以下は出力です-

+---------+
| @engine |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)

SETコマンド-

を使用して、変数に値を設定します。
mysql> SET @engine='start';
Query OK, 0 rows affected (0.00 sec)

その後、上記の値を確認できます。そのためには、SELECTステートメントを使用します。以下はクエリです-

mysql> SELECT @engine;

上記のクエリを実行すると、更新された値が取得されます。

以下は出力です-

+---------+
| @engine |
+---------+
| start   |
+---------+
1 row in set (0.00 sec)

これで、次のように変数値を更新できます-

mysql> set @engine='close';
Query OK, 0 rows affected (0.00 sec)

SELECTコマンド::

を使用して、結果が更新されているかどうかを確認します。
mysql> select @engine;

上記のクエリを実行すると、次のような出力が得られます-

+---------+
| @engine |
+---------+
| close   |
+---------+
1 row in set (0.00 sec)

上記の出力から、@engine変数が値「close」で更新されていることが明らかです。


  1. MySQLでsql_modeを永続的に設定するにはどうすればよいですか?

    Windowsオペレーティングシステムを使用している場合は、ディレクトリmy.cnfまたはmy.iniファイルを確認してください。 mysql> select @@datadir; 以下は出力です +---------------------------------------------+ | @@datadir | +---------------------------------------------+ | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ | +----

  2. カスタム変数でMySQLselectを設定する

    まずテーブルを作成しましょう- mysql> create table DemoTable2013    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.63 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2013 values('Chris'); Query OK, 1 row affected (0.13 sec)