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 起動エラーの問題を解決する

推薦する

MySql データベースのサブクエリと高度なアプリケーションの簡単な分析

MySql データベースのサブクエリ:サブクエリ: 選択クエリ ステートメント内に別の選択ステートメ...

Ubuntu 19.04 インストール チュートリアル (画像とテキストの手順)

1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...

CSSにスティッキー効果を追加する方法

前面に書かれたfilter:blur と filter:contrast がこのような素晴らしい化学...

MySQLテーブルパーティショニングプログラムを変更する方法

MySQLテーブルパーティショニングプログラムを変更する方法1. サブテーブルの実装の原則は次のとお...

JavaScript の基本オブジェクト

目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...

Vue コード強調プラグインの総合的な比較と評価

目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...

MySQL GROUP_CONCAT 制限の解決

効果: GROUP_CONCAT関数は、フィールド値を文字列に連結することができます。デフォルトの区...

UbuntuでGRUBの起動時間を変更する

grubの起動時間を変更するためのオンライン検索は基本的に/etc/default/grubを変更す...

Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

目次1. バックグラウンドで実行されるジョブ2. 信号を使用してプロセスを制御する基本的なプロセス管...

HTML ページジャンプのパラメータ渡しの問題

効果は以下のとおりです。ページジャンプボタンをクリックした後 対応する値はページ b で取得できます...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

Reactプロジェクトで要素を使用する方法

React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...

Vueは双方向データバインディングを実装します

この記事の例では、双方向データバインディングを実装するためのVueの具体的なコードを参考までに共有し...

仮想マシンUbuntu 16.04がインターネットに接続できない問題の解決策

Ubuntu をインストールしたばかりですが、開いたときにネットワーク接続がありませんでした。右上隅...