MySQL 変数の宣言と使用法
MySQL では、2 番目のクエリで変数を使用するには、最初に変数を宣言して初期化する必要があります。
ユーザー定義変数 (@ で始まる)
- 申告は必要ありません。
- 事前の宣言や初期化を行わずに直接アクセスできます。
- 初期化されていない場合、値は NULL で、データ型は文字列です。
- 初期化にはSETまたはSELECTステートメントを使用します。
- セッション固有 (他のクライアントは表示または使用できません)。
- 例:
<code class="language-sql">SET @start = 1, @finish = 10;
SELECT * FROM places WHERE place BETWEEN @start AND @finish;</code>
ログイン後にコピー
ローカル変数 (接頭辞なし)
- DECLARE ステートメントが必要です。
- は、ストアド プロシージャの入力パラメーターまたはローカル変数として使用されます。
- 例:
<code class="language-sql">DECLARE start INT unsigned DEFAULT 1;
DECLARE finish INT unsigned DEFAULT 10;</code>
ログイン後にコピー
- DEFAULT 句が欠落している場合、初期値は NULL になります。
- スコープは、それらが宣言されている BEGIN...END ブロックに制限されます。
サーバーシステム変数 (@@ で始まる)
- MySQL サーバーによって管理されるシステム変数。
- GLOBAL (グローバル)、SESSION (セッション)、または BOTH (両方) を指定できます。
- サーバー操作 (GLOBAL) または個々のクライアント接続 (SESSION) に影響します。
- 表示するには SHOW VARIABLES または SELECT @@var_name を使用します。
- 動的に変更するには、SET GLOBAL または SET SESSION を使用します。
- 例:
<code class="language-sql">SET GLOBAL sort_buffer_size=1000000;</code>
ログイン後にコピー
以上がMySQL のユーザー定義変数、ローカル変数、システム変数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。