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 のグローバル ウォーターマーク実装例

目次1. 透かしのJsファイルを作成する2. 導入操作2.1 App.vueや他のページでの参照2....

DockerでRedisを使用するための詳細な手順

1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...

mysql5.7.20 での最初のログイン失敗に対する簡単な解決策

まず、 (1)MySQL 5.7にはデフォルトのパスワードがあるデフォルトのパスワードを見つける g...

VUEウォッチリスナーの基本的な使い方の詳しい説明

目次1. 次のコードはwatchの簡単な使用法です2. 即時監視3. ハンドラメソッド4. 深い属性...

MySQL のデータ統計に関するヒント

よく使用されるデータベースである MySQL では、多くの操作が必要です。デジタル操作には非常に便利...

React コードを共有するためのベストプラクティス

プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...

JavaScript が Jingdong の虫眼鏡効果を模倣

この記事では、Jingdongの虫眼鏡効果を実現するためのJavaScriptの具体的なコードを紹介...

MySQL 5.7.10 インストール ドキュメント チュートリアル

1. 依存パッケージをインストールする yum -y インストール gcc-c++ ncurses-...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

CSS で div にスクロールを追加し、スクロール バーを非表示にする

CSS は div にスクロールを追加し、スクロール バーを非表示にします。具体的なコードは次のとお...

Docker+Selenium Grid に基づく技術アプリケーションをテストするためのサンプル コード

Selenium Grid の紹介Selenium Grid のいくつかの新しい機能は、今後リリース...

Vue ライフサイクルの紹介とフック関数の詳細な説明

目次Vueライフサイクルの紹介とフック機能VUEライフサイクルフックVue ライフサイクルの紹介作成...

React の国際化 react-intl の使用

React で国際化を実現するにはどうすればよいでしょうか? react-intlプラグインは、Re...

Vue Element フロントエンドアプリケーション開発 テーブルリスト表示

1. リストクエリインターフェースの効果コード処理ロジックを紹介する前に、まずは感覚的に理解し、レン...