mysql ビュー関数の分析と使用例

mysql ビュー関数の分析と使用例

この記事では、例を使用して MySQL ビューの機能と使用方法を説明します。ご参考までに、詳細は以下の通りです。

簡単に言えば、ビューとは、SELECT ステートメントの実行後に返される結果セットです。

//単一テーブルビュー CREATE [ALGORITHM]={UNDEFINED|MERGE|TEMPTABLE}]
    VIEW ビュー名 [(プロパティリスト)]
    AS SELECT ステートメント [WITH [CASCADED|LOCAL] CHECK OPTION];
  // クエリ結果を仮想テーブルとして返します。このテーブルはデータベースの変更に応じて変更されます。CREATE VIEW work_view(ID, Name, Addr) AS SELECT id,name,address FROM work;
  //複数のテーブルにビューを作成する//ALGORITHM=MERGE ALGORITHM には 3 つのパラメータがあります: merge、TEMPTABLE、UNDEFINED (merge merge table、temptable は情報を更新できません、undefined)
   CREATE ALGORITHM=MERGE VIEW work_view2(ID,NAME,SALARY) AS SELECT work.id,name,salary FROM work,salary WHERE work.id=salary.id WITH LOCAL CHECK OPTION;

操作、特にクエリ操作を容易にし、複雑な SQL ステートメントを削減し、読みやすさを向上させます。

ビューとテーブルは 1 対 1 の関係にあります。他の制約 (ビューには存在しないが基本テーブルでは必須のフィールドなど) がない場合、データの追加、削除、および変更操作を実行できます。

ビューとテーブルは 1 対多の関係にあります。1 つのテーブルのデータのみを変更し、他の制約 (ビューには存在しないが基本テーブルでは必須のフィールドなど) がない場合は、次のステートメントのようなデータ変更操作を実行でき、操作は成功します。

ビューと一時テーブルの違い

  • ビューは単に事前にコンパイルされた SQL ステートメントであり、実際のデータは保存されません。
  • 一時テーブルは、tempdb に保存される実際のテーブルです。
  • 物理スペースの割り当ては異なります。スペースを割り当てないようにしてください。一時テーブルがスペースを割り当てます。
  • ビューはスナップショット、仮想テーブルです
  • 一時テーブルは、目的のテーブルタイプのオブジェクトです。一時テーブルを作成する
  • それらの構造はテーブルとスナップショットです。ビューは、共同テーブルへのショートカットと考えることができます。

一時テーブルの作成

一時テーブル tmp_table を作成します (
名前 VARCHAR(10) NOT NULL,
値 INTEGER NOT NULL)

クエリ結果を一時テーブルに直接インポートする

一時テーブル tmp_table を作成します。SELECT * FROM table_name

一時テーブルは現在の接続でのみ表示され、接続が閉じられると自動的に削除されます。同じクエリ ステートメント内で一時テーブルを検索できるのは 1 回だけです。 show tables ステートメントは一時テーブルをリストしませんが、メモリ テーブルをリストします。 rename を使用して一時テーブルの名前を変更することはできません。ただし、代わりにテーブルを変更することもできます。

メモリ テーブル: テーブル構造はディスク上に構築され、データはメモリ内にあります。サービスが停止すると、テーブル内のデータは失われますが、テーブル構造は失われません。メモリ テーブルも一時テーブルの一種と見なすことができます。

メモリテーブルの作成:

一時テーブル tmp_table を作成します (
名前 VARCHAR(10) NOT NULL,
値 INTEGER NOT NULL
) タイプ = ヒープ

注意: TYPE = HEAP が必要です。

メモリテーブルはメモリストレージエンジンを使用する必要があります

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

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

以下もご興味があるかもしれません:
  • MySQL で複数のテーブルにビューを作成する方法
  • MySQLノートのビューの使用に関する詳細な説明
  • MySQL でのビューの使用と複数テーブル INNER JOIN に関するヒントの共有
  • MySQL のインデックスとビューの使用方法と違いの詳細な説明
  • MySQL ビューの原則と使用例の概要
  • MySQL トランザクション、ビュー、ストアド プロシージャ、トリガーに基づくアプリケーション分析
  • MySQL の問題、ビュー、関数、トリガー コマンド (詳細な説明)
  • MySQL ビューの原理と基本操作例
  • MySQL ビューの紹介と基本操作のチュートリアル
  • Mysql データベースの高度なビュー、トランザクション、インデックス、自己接続、ユーザー管理の例の分析の使用
  • MySQLで更新可能なビューを作成する方法の詳細な説明

<<:  Windows 10 でカスタムドメイン名をバインドするように Hexo と GitHub を構成する方法

>>:  axiosのシンプルなカプセル化と使用例コード

推薦する

JavaScript でオブジェクトをエレガントに扱う 6 つの方法

目次序文1. オブジェクト.freeze() 2. オブジェクト.seal() 3. オブジェクト....

LinuxでのDockerのインストールチュートリアル

Docker パッケージは、デフォルトの CentOS-Extras リポジトリにすでに含まれていま...

Vueで配列の変更を監視する方法

目次序文ソースコード学習の第一歩はどこから始めればよいでしょうか?写真から始めましょうソースコードを...

複数の Docker コンテナが同じポート番号を持たない場合の解決策

背景Dockerでは、同じイメージを使用して4つのコンテナを作成します。ネットワークはブリッジモード...

Vue で lodop 印刷コントロールを使用してブラウザ互換の印刷を実現する方法

序文このコントロールを直接印刷すると下部に透かしが入りますが、公式 Web サイトから購入することで...

Vue3 を使用して虫眼鏡効果を実現する方法の例

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. 準備2. 梱包を開始する...

Pure CSS3はdivの出入りを順番に実現します

この記事は主に、純粋な CSS3 を使用して div が順番に出入りする効果を紹介します。一定の参考...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...

よく知られているブラウザのDOCTYPEモード選択メカニズム

ドキュメントの範囲この記事では、Firefox やその他の Gecko ベースのブラウザ、Safar...

sqlite3 から mysql に移行するときに起こりうる問題のコレクション

簡単な説明適切な読者: モバイル開発sqlite3 データを mysql に移行する場合、多くの構文...

Docker、プレーヤー機能を備えたCMSオンデマンドシステムを構築

目次文章1. 機械を準備する2. Dockerをインストールする1. 依存パッケージをインストールす...

js で下線とキャメルケースの変換を実装する (複数の方法)

目次適用シナリオ:方法 1: 正規表現 (推奨)方法2: 配列のreduceメソッドを使用する方法3...

JavaScriptにおける評価戦略の詳細な説明

目次それを覆う栗パラメータの受け渡し値渡し共同配送要約する拡張機能 - 遅延評価私は最近、JavaS...

Vue は書籍管理ケースを実装します

この記事では、書籍管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次の...