MySQLでのユーザー定義変数の使用
ユーザー変数とは何か、MySQLでどのように使用できるかを理解しましょう。ルールも表示されます-
-
ユーザー変数は@var_nameとして記述されます。ここで、「var_name」は、英数字、。、_、および$で構成される変数名を指します。
-
ユーザー変数名は、文字列または識別子として引用されている場合、他の文字を含めることができます。
-
ユーザー定義変数はセッション固有です。
-
1つのクライアントによって定義されたユーザー変数は、他のクライアントには表示または使用できません。
-
ただし、唯一の例外は、ユーザーがPerformance Schemauser_variables_by_threadテーブルにアクセスできる場合、そのユーザーはすべてのセッションのすべてのユーザー変数を表示できることです。
特定のクライアントセッションのすべての変数は、そのクライアントが終了すると自動的に解放されます。
ユーザー変数名では大文字と小文字は区別されません。名前の最大長は64文字です。
構文
ユーザー定義変数を設定する1つの方法は、SETステートメントを発行することです。以下のコマンドを使用してどのように実行できるかを見てみましょう-
SET @var_name = expr [, @var_name = expr] ...
SETを使用するときは、代入演算子として=または:=のいずれかを使用してください。
値の割り当て
ユーザー変数には、限られたデータ型のセットから値を割り当てることができます。これらには、整数、10進数、浮動小数点、2進数または非2進数の文字列、またはNULL値が含まれます。
-
10進数と実際の値を割り当てても、値の精度やスケールは維持されません。
-
許容されるタイプ以外の値は、許容されるタイプに変換されます。
-
これは、テーブルの列の値に使用されるのと同じ強制力です。
-
MySQLユーザー変数を使用すると、結果をクライアントの一時変数に保存せずに記憶することができます。
-
これらは、メモリの場所を明示的に割り当てずにデータを保存するために使用されます。
-
MySQLでのユーザー定義変数の使用
ユーザー変数とは何か、MySQLでどのように使用できるかを理解しましょう。ルールも表示されます- ユーザー変数は@var_nameとして記述されます。ここで、「var_name」は、英数字、。、_、および$で構成される変数名を指します。 ユーザー変数名は、文字列または識別子として引用されている場合、他の文字を含めることができます。 ユーザー定義変数はセッション固有です。 1つのクライアントによって定義されたユーザー変数は、他のクライアントには表示または使用できません。 ただし、唯一の例外は、ユーザーがPerformance Schemauser_variables
-
オプションを使用したMySQLプログラム変数の設定
MySQLプログラムの多くには、実行時にSETステートメントを使用して設定される内部変数があります。これらのプログラム変数のほとんどは、プログラムオプションの指定に適用されるのと同じ構文を使用して、サーバーの起動時に設定することもできます。 例1 mysqlには、通信バッファの最大サイズを制御するmax_allowed_packet変数があります。 mysqlのこのmax_allowed_packet変数を16MBの値に設定するには、以下のコマンドのいずれかを使用できます- mysql --max_allowed_packet=16777216 (or) mysql --max_a