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 の追加、削除、変更、クエリステートメントのシンプルな実装追加されたレコード: テーブル名...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

CSS3 は反転可能なホバー効果を実現します

CSS3 は反転可能なホバー効果を実装します。具体的なコードは次のとおりです。 1.css /*基本...

MySQL IN ステートメントにおける低速クエリの効率を最適化する手法の例

表の構造は以下のとおりです。記事数は690件のみです。 記事テーブル article(id,titl...

Dockerの核となる原則であるCgroupの詳細な説明

カーネル内の強力なツール cgroup は、NameSpace によって分離されたリソースを制限でき...

CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...

Vue3 でパンくず関数コンポーネントをカプセル化するいくつかの方法

目次序文1. パンくずリストはなぜ必要なのでしょうか? 2. 一次包装1. 実装のアイデア2. コー...

フロントエンド開発に必須:推奨されるブラウザ互換性テストツール 12 選

フロントエンド開発者にとって、さまざまな主要ブラウザのさまざまなバージョンでコードが適切に動作するこ...

Centos7 で Java8 と MySQL をインストールしてデプロイする

通常、Java の学習とプロジェクトのデプロイはローカルで行われますが、実稼働環境は Linux 環...

mysql5.7.24 バージョンのインストール手順と解凍時に発生した問題の概要

1. ダウンロード参考: 2. D:\MySQL\mysql-5.7.24 などの固定の場所に解凍し...

nginxのインストールと設定の詳細なプロセス記録

目次1 nginxの紹介1 nginxとは何か2 つのアプリケーション シナリオ2 nginxのイン...

Jenkins を通じて None のイメージを定期的にクリーンアップする方法

序文継続的なコード配信のプロセスで、Jenkins を利用して Docker イメージを作成すると、...

Vue での keepAlive の使用例の詳細な説明

開発においては、一覧から詳細ページにジャンプし、また詳細ページに戻る際に一覧ページの状態(スクロール...

MySQL データベースの Binlog 使用法の概要 (必読)

MySQL データベースにとって binlog バイナリ ログがどれほど重要であるかについては詳し...