mysql 変数の使用例の分析 [システム変数、ユーザー変数]

mysql 変数の使用例の分析 [システム変数、ユーザー変数]

この記事では、例を使用して MySQL 変数の使用方法を説明します。ご参考までに、詳細は以下の通りです。

この記事の内容:

  • システム変数
  • ユーザー変数
    • ローカル変数

リリース日: 2018-04-18


システム変数:

  • システム変数は、システムによって事前に定義された変数です。
  • システム変数は通常、特別な意味を持ちます。たとえば、一部の変数は文字セットを表し、一部の変数は特定の MySQL ファイルの場所を表します。
  • システム変数には、セッション レベル変数 (名前など、セッションが接続されたときに有効になる変数) とグローバル変数 (常に有効な変数) があります。[システム内のグローバル変数とセッション変数は、実際には一連の変数を使用します。違いは、セッション変数はセッションが接続されたときにのみ有効であることです。 】
    • セッション変数の割り当て: set variable name = value; [よく使用される set names = "utf8";] または set @@variable name = value
    • グローバル変数の割り当て: グローバル変数名 = 値を設定します。

システム変数を表示します:

  • 変数を表示します。

システム変数の呼び出し:

  • @@変数名を選択します。

ユーザー変数:

  • ユーザー変数はユーザーによって定義される変数です。
  • システム変数とユーザー定義変数を区別するために、システムではユーザー定義変数には@記号を使用する必要があると規定されています。
  • 変数は次のように定義されます。
    • set @變量名=1
    • @変数名:=値を選択します。
    • @変数名に値を選択します。
  • ユーザー変数は宣言せずに直接使用できますが、デフォルト値は null です。
  • ユーザー変数はセッション レベルの変数であり、現在の接続中にのみ有効です。

ローカル変数:

  • ローカル変数はユーザー定義なので、ユーザー変数とみなすことができます [ただし、ローカル変数では @ を使用する必要はありません]
  • ローカル変数は通常、ストアド プロシージャ ブロック、トリガー ブロックなどの SQL ステートメント ブロックで使用されます。
  • ローカル変数を定義する方法:
    • まず、declare を使用してローカル変数を宣言します。オプションの default の後に、変数のデフォルト値を続けることができます。[これは非常に重要なステップです。そうしないと、ユーザー変数として設定されます] [注: 変数宣言ステートメントは、select ステートメントなどの他のステートメントの前に配置する必要があります]
      • 例: declare myq int;
      • 例: declare myq int default 666;
    • 変数の値を設定します。
      • 変数名 = 値を設定します。
    • 変数の値を取得します。
      • 変数名を選択します。
プロシージャ myset() を作成する
始める 
 mya int を宣言します。
 myq int のデフォルトを 777 と宣言します。
 mya、myq を選択します。
 myq=6 を設定します。
 mya=666 を設定します。
 mya、myq を選択します。
終わり;

myset() を呼び出す

補充:

  • 変数名 = 値を直接設定することで「ユーザー変数」も定義できると考える人もいるかもしれませんが、これはシステム変数と競合するかどうかわからないため、不適切な動作です [この動作は各変数の機能を無視します]。そのため、ユーザー変数には @ を追加するのが最善です
  • =は多くの場所で等しいかどうかを判断するために使用されるため、曖昧さを避けるために:=を使用して値を割り当てることもできます。 image
  • [上記では他の代入方法もいくつか紹介しましたが、ユーザー変数にのみ使用される := など、一部は汎用的ではないようですので、注意して使用してください]。

MySQL 関連のコンテンツに興味のある読者は、次のトピックを確認してください: 「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • 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カスタム変数の概念と特徴

<<:  Linuxで同一ファイルを見つける方法

>>:  Vue プロジェクトでのスキャンコード決済の実装例 (デモ付き)

推薦する

フォーム要素とプロンプトテキストが揃っていない問題

最近のプロジェクトでは、多くのフォーム、特にチェックボックスとラジオボタンの作成が含まれます。しかし...

three.js で 3D ダイナミック テキスト効果を実現する方法

序文みなさんこんにちは。CSS ウィザードの alphardex です。以前、海外のウェブサイトを閲...

ウェブデザイン研究における XHTML の応用の概要

<br />一般的に、「標準的な Web ページ」のファイル構成は XHTML CSS ...

海外の無料写真素材サイトベスト9

良い画像素材のウェブサイトを見つけるのは難しいです。特に無料です。良い写真には非常に目を引く視覚効果...

MySQL 5.7 でデータベースのデータ保存場所を変更する方法

MySQL データベースに保存されるデータが徐々に増加すると、元のストレージ領域がいっぱいになり、M...

2つのNode.jsプロセスがどのように通信するかの詳細な説明

目次序文異なるコンピュータ上の 2 つの Node.js プロセス間の通信TCPソケットの使用HTT...

JavaScript 関数のパフォーマンスを測定するさまざまな方法の比較

目次概要パフォーマンス.nowコンソール.time時間精度を短縮注意事項分割して征服する入力値に注意...

Ubuntu 上の Apache で SSL (https 証明書) を設定する正しい方法の詳細な説明

まず、Alibaba Cloud の公式チュートリアルをご覧ください。ファイルの説明: 1. 証明書...

Nginxは特定のページへのIPアクセスを制限します

1.すべてのIPアドレスが3つのページa1.htm、a2.htm、a3.htmにアクセスするのを禁止...

ApacheBench でマルチ URL をサポートする方法

標準の ab は単一の URI でのストレス テストのみをサポートしており、実際のニーズを満たしてい...

dockerログマウントの問題を解決する

重要なのは、ローカルサーバーに書き込み権限がないことですキーはここにあります(アクセス拒否)。私は肯...

Zabbix は DingTalk のアラーム機能を画像付きで設定します

実装のアイデア:まず、アラーム情報にはitemidが必要です。これは前提条件です。情報に渡されるパラ...

Vueが初めて要素を取得できなかったときの解決記録

序文Vue で要素を初回取得できない問題の解決方法は、ポップアップ ウィンドウで要素を取得するために...

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

CSS3 テキストアニメーション効果

効果 html <div class="sp-container">...