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のシンプルなカプセル化と使用例コード

推薦する

MySQLデュアルマシンホットスタンバイと負荷分散の実装手順の詳細説明

MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...

WebプロジェクトのDockerデプロイメントの実装

前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロ...

JavaScript 配列と非配列オブジェクトのディープ クローンとシャロー クローンの原則の詳細な説明

目次シャロークローニングとディープクローニングとは何ですか? 1. アレイのクローンを作成する1.1...

HTMLで細い線のテーブルを作成する簡単な例

この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...

Docker 環境での Jmeter の分散操作に関する詳細なチュートリアル

1. jmeterの基本イメージを構築するDockerfile は次のとおりです。 # Java 8...

パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...

Mac ノードの削除と再インストールのケーススタディ

Macノードの削除と再インストール消去 ノード -v sudo npm アンインストール npm -...

Tomcat でのサーブレットの作成と実装に関する深い理解

1. サーブレットとは何か1.1. 正式な言葉で説明する:サーブレットは、動的な Web リソースを...

テキスト ファイルの並べ替えに役立つ Awk コマンドラインまたはスクリプト (推奨)

Awk は、ソートを含む他の一般的なユーティリティによって実行できるいくつかのタスクを実行できる強...

全文検索とキーワードスコアリング方式のMySQL実装例

1. はじめに今日、同僚から、MySQL を使用して ElasticSearch に似た全文検索機能...

antd ツリーと親子コンポーネント間の値転送問題について (React のまとめ)

プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...

入力[type=file]の起動が遅くて動かなくなる問題を素早く解決します

入力タグタイプがファイルで、タグ内にaccpet="image/*"属性が設定さ...

純粋な CSS を使用してドロップダウン メニューを作成するサンプル コード

導入:最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多...

Nexus をベースに Alibaba Cloud プロキシ ウェアハウスを構成するプロセスの分析

Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...

Mysql トランザクションで Update を実行するとテーブルがロックされますか?

2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレー...