MySQL 変数の原理と応用例

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類されます。

ただし、実際のアプリケーションに応じて、ローカル変数、ユーザー変数、セッション変数、グローバル変数の 4 つのタイプにさらに分類されます。

1. ローカル変数

MySQL ローカル変数は、ストアド プロシージャの begin/end ステートメント ブロックなどの begin/end ステートメント ブロックでのみ使用できます。

その範囲はこのステートメント ブロックに限定されます。

-- ローカル変数を定義するには、declare ステートメントを使用します。デフォルト値を指定するには、default を使用できます。
age int のデフォルトを 0 と宣言します。

-- ローカル変数の代入方法 1
年齢を18に設定します。

-- ローカル変数の代入方法 2
StuAgeを選択
年齢を重ねる
demo.studentより
ここで、StuNo='A001';

2. ユーザー変数

MySQL ユーザー変数。MySQL のユーザー変数は事前に宣言する必要はありません。使用するときは、「@変数名」を直接使用します。

その範囲は現在の接続です。

-- 最初の使用法は、setを使用する場合、「=」または「:=」の2つの代入記号を使用して値を割り当てることができることです。
@age=19 を設定します。

@age:=20 を設定します。

-- 2番目の使用法では、selectを使用する場合、値を割り当てるために「:=」代入記号を使用する必要があります。
@age:=22 を選択します。

@age:=StuAge を選択
demo.studentより
ここで、StuNo='A001';

セッション変数

MySQL セッション変数では、サーバーは接続されたクライアントごとに一連のセッション変数を維持します。

その範囲は現在の接続に限定されており、つまり各接続のセッション変数は独立しています。

-- すべてのセッション変数を表示する
セッション変数を表示します。

-- セッション変数の値を設定する 3 つの方法
セッションを auto_increment_increment=1 に設定します。
@@session.auto_increment_increment=2 を設定します。
set auto_increment_increment=3; -- sessionキーワードが省略された場合、デフォルトはsessionとなり、セッション変数の値を設定します。

-- セッション変数の値を照会する 3 つの方法
@@auto_increment_increment を選択します。
@@session.auto_increment_increment を選択します。
'%auto_increment_increment%'のようなセッション変数を表示します。 -- セッションキーワードは省略できます

-- キーワードセッションはキーワードローカルに置き換えることもできます
@@local.auto_increment_increment=1 を設定します。
@@local.auto_increment_increment を選択します。

4. グローバル変数

MySQL グローバル変数はサーバーの全体的な操作に影響し、サービスが起動すると、すべてのグローバル変数がデフォルト値に初期化されます。グローバル変数を変更するには、スーパー権限が必要です。

その範囲はサーバーのライフサイクル全体です。

-- すべてのグローバル変数を表示
グローバル変数を表示します。

-- グローバル変数の値を設定する2つの方法
set global sql_warnings=ON; -- global は省略できません
@@global.sql_warnings を OFF に設定します。

-- グローバル変数の値を照会する 2 つの方法
@@global.sql_warnings を選択します。
'%sql_warnings%' のようなグローバル変数を表示します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL でカスタム変数を使用して遅延 UNION を記述する例
  • MySQL ユーザー変数と set ステートメントの例の詳細な説明
  • MySQL の起動オプションとシステム変数の例の詳細な説明
  • mysql 変数の使用例の分析 [システム変数、ユーザー変数]
  • MySQL ストアド プロシージャを作成 (CREATE PROCEDURE) して呼び出す (CALL) 方法と、変数を作成 (DECLARE) して割り当てる (SET) 方法
  • MySQL パフォーマンス チューニングについて知っておくべき 15 個の重要な変数 (要約)
  • MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)
  • MySQLでグローバル変数とセッション変数を設定する2つの方法の詳細な説明
  • MySQL 5.6.23 のインストールと設定環境変数のチュートリアル
  • MySQLカスタム変数の概念と特徴

<<:  Vue3.0はチェックボックスコンポーネントのカプセル化を実装します

>>:  IDEA 構成の Tomcat 起動エラーの問題を解決する

推薦する

Vueはフィルターを使用して日付をフォーマットします

この記事では、フィルターを使用して日付をフォーマットするVueの具体的なコードを参考までに紹介します...

HTML マルチヘッダーテーブルコード

1. マルチヘッダーテーブルコードコードをコピーコードは次のとおりです。 <!DOCTYPE ...

docker runの--rmオプションの使用方法

Docker コンテナが終了しても、デバッグを容易にし、ユーザー データを保持するために、デフォルト...

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりですここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の t...

webkit-box-reflect を巧みに使用してさまざまな動的効果を実現する (要約)

かなり前の記事で、 -webkit-box-reflectプロパティについて説明しました。リフレクシ...

DIV 背景半透明テキスト非半透明スタイル

DIVの背景は半透明ですが、DIV内の文字は半透明ではありませんコードをコピーコードは次のとおりです...

Linuxで権限が拒否された場合の解決策の詳細な説明

許可が拒否されました:その理由は、ファイルの読み取り、書き込み、作成、削除などの権限がないためです。...

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...

VScode設定のリモートデバッグLinuxプログラムの問題を解決する

VScode リモートデバッグ Linux プログラムの問題について見てみましょう。具体的な内容は以...

Linux リモート開発に vs2019 を使用する方法

通常、Linux プログラムを開発する場合、次の 2 つのオプションがあります。 Linux上で直接...

DockerはGitを使用してJenkinsのリリースとテストプロジェクトの詳細なプロセスを実装します

目次1. Dockerをインストールする2. カスタムネットワークアドレスを作成する3. Docke...

MySQL無料インストール版のパスワード設定に関する詳細なチュートリアル

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

スライダーを作成するためのネイティブ js ドラッグ アンド ドロップ機能のサンプル コード

ドラッグ アンド ドロップはフロントエンドでよく使われる機能であり、多くのエフェクトで js のドラ...

Linux自動ログイン例の説明

インターネット上には、expect を使用して自動ログインを実現するスクリプトが多数存在しますが、明...

Docker Nginxコンテナの制作と展開の実装方法

クイックスタート1. Docker Hubでnginxイメージを見つけるdocker 検索 ngin...