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

推薦する

vue+element カスタムクエリコンポーネント

この記事では主に Vue プロジェクトを紹介します。要素の導入を前提として、コンポーネントを 2 回...

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...

Nginx を使用してクロスドメイン Vue 開発環境を処理する方法

1. 需要正しい Cookie 配信と SSO テストを確実に実行できるように、ローカル テスト ド...

ウェブデザインの達人がよく使うレスポンシブフレームワークを共有する(要約)

この記事では、Web デザインの達人がよく使用するレスポンシブ フレームワーク (概要) を紹介し、...

Vue プロジェクトで SVG コンポーネントをパッケージ化して構成する手順

最近新しい会社に入社しました。プロジェクトに携わった後、タイトルアイコンが svg で作られていると...

SQLと各種NoSQLデータベースの使用シナリオの説明

SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...

Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順

1. [admin@JD ~]$ cd opt #ルートディレクトリにoptと入力2. [admin...

MySQL 5.7.20\5.7.21 無料インストール版のインストールと設定のチュートリアル

参考までに、mysql 5.7.20 / 5.7.21 をダウンロード、インストール、構成します。具...

MySQL Limitパフォーマンス最適化とページングデータパフォーマンス最適化の詳細な説明

MySQL Limit はセグメント内のデータベース データをクエリでき、主にページングで使用されま...

JavaScript オブジェクトを比較する 4 つの方法

目次序文参考比較手動比較浅い比較徹底比較要約する序文JavaScript でプリミティブ値を比較する...

Nginx ロケーション設定のチュートリアル (ゼロから)

基礎位置の一致順序は、「最初に正規表現に一致し、次に共通表現に一致」です。実際のロケーションの一致順...

レム適応の一般的なパッケージ3つについて

序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...

Mysqlは隣接リスト(隣接リスト)を通じてツリー構造を保存します。

以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...

テキストエリアをレイアウトしたときにテキストが左下にあり、サイズを変更できない問題の解決策

2つの小さな問題ですが、長い間私を悩ませていました。最初の質問テキストエリアの左側のテキストは常にテ...

VUEのデータプロキシとイベントの詳細な説明

目次Object.defineProperty メソッドのレビューデータブローカーとは何ですか? V...