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

推薦する

N キロメートル以内のデータを検索する MySQL の簡単な例

地球の円周率と半径、検索ポイントの経度と緯度から、検索ポイントと検索データテーブル間の距離はNキロメ...

JavaScript のよりエレガントなエラー処理方法 async await

目次背景なぜエラー処理が必要なのでしょうか? async await より適切なエラー処理まとめ要約...

iframe を使用して Web ページに他の Web ページを埋め込む方法

iframe の使い方:コードをコピーコードは次のとおりです。 <DIV align=cent...

Ubuntu の空き容量を増やす 5 つの簡単な方法

序文ほとんどの人は、システム ディスク ストレージが少ないときにこの操作を実行するか、Linux シ...

Docker swarm を使用して Nebula Graph クラスターを迅速にデプロイする方法のチュートリアル

1. はじめにこの記事では、Docker Swarm を使用して Nebula Graph クラスタ...

CUDA8.0とCUDA9.0はUbuntu16.04で共存します

序文Github にある以前のコードには、CUDA 8.0 環境が必要なものもあります。初心者の場合...

Linux resolv.conf の簡単な分析

1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...

HTML で余分なテキストを省略記号に変換する方法

HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...

ネイティブJavaScriptカルーセル実装方法

この記事では、JavaScriptカルーセルの実装方法を参考までに紹介します。具体的な内容は次のとお...

MySQL 結合クエリの原則の知識ポイント

MySQL 結合クエリ1. 基本概念2 つのテーブルの各行をペアで水平に接続して、すべての行の結果を...

TypeScript 列挙の基本と例

目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...

Apache Web サーバーを使用して 2 つ以上のサイトを構成する方法

人気があり強力な Apache Web サーバーで 2 つ以上のサイトをホストする方法。前回の記事で...

JS WebSocketを使用して簡単なチャットを実装する方法

目次ショートポーリングロングポーリングウェブソケットコミュニケーションの原則シンプルな1対1チャット...

Linux inotifyリアルタイムバックアップの実装方法の詳細説明

リアルタイム レプリケーションは、企業データをバックアップする最も重要な方法です。主に、ユーザーが送...

Alibaba Cloud ServerにMySQLデータベースをインストールする方法の詳細な説明

序文学習中に Zookeeper をインストールする必要があったため、仮想マシンに常に問題が発生した...