ホームページ > データベース > mysql チュートリアル > MySQL のユーザー定義変数、ローカル変数、システム変数の違いは何ですか?

MySQL のユーザー定義変数、ローカル変数、システム変数の違いは何ですか?

Linda Hamilton
リリース: 2025-01-22 03:11:10
オリジナル
712 人が閲覧しました

What's the Difference Between User-Defined, Local, and System Variables in MySQL?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート