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 プロジェクトでのスキャンコード決済の実装例 (デモ付き)

推薦する

MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

目次序文1. インストール1.公式サイトからダウンロード2. 構成を作成する3. MySQLを初期化...

WeChat アプレット計算機の例

この記事では、参考までに、計算機を実装するためのWeChatアプレットの具体的なコードを紹介します。...

Vueのフィルターとディレクティブの詳細な説明

目次vueカスタムディレクティブグローバル指令ローカル指示使用フック関数(両方ともオプション)使用方...

あなたのウェブサイトはIE8に適していますか?

オリンピック期間中にIE8ベータ2がリリースされ、英語版のリリースに合わせて中国語版も第一波でリリー...

MySQL 数十億のデータのインポート、エクスポート、移行に関するメモ

最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので...

npm グローバル モジュールのデフォルトのインストール パスを変更するためにノードのインストールをカスタマイズする手順

node を D ドライブにインストールしましたが、C ドライブのスペースを占有したくなかったため、...

React プロジェクトにおける axios カプセル化と API インターフェース管理の詳細な説明

目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...

Dockerはjenkins+mavenコード構築および展開プラットフォームを構築します

目次Docker の基本概念Docker インストール プロセス (Centos6.9)カーネルのア...

Angularの単一プロジェクトを複数プロジェクトにアップグレードするプロセス全体

目次序文開発環境新しいプロジェクトを作成するモバイルウェブプロジェクト角度付きJSONパブリックモジ...

Dockerはrabbitmqのサンプルコードをインストールして実行します

イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...

Vueフィルターとカスタム命令の使用

目次フィルター01.とは02. やり方(1)フィルターを定義する(2)使用方法(3)フィルタパラメー...

鏡像効果を実現する JavaScript キャンバス

この記事では、JavaScriptキャンバスでミラーイメージ効果を実現するための具体的なコードを参考...

JavaScriptはマウスの動きに追従するボックスを実装します

この記事では、マウスの動きを追跡するためのJavaScriptの具体的なコードを参考までに紹介します...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...