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

推薦する

React における useEffect と useLayoutEffect の違い

目次前提条件使用効果コミット前ミューテーション効果コミットミューテーション効果コミットレイアウト効果...

HTML iframe と frameset の違い_PowerNode Java Academy

導入1.<iframe> タグ: iframe は、ページ内に内部フレームを生成するイン...

CentOS7 64でのMySQL5.6.40の詳細なインストール手順

CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...

MySQLのストレージエンジンの詳細な説明

MySQL ストレージ エンジンの概要ストレージ エンジンとは何ですか? MySQL のデータは、さ...

MySQL killコマンドの実行原理の詳細な説明

目次キル命令実行原理命令実行特性クエリ実行の強制終了の原則接続終了の実装原則中断される可能性はありま...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

Nginx ロードバランシングの設定方法

目次Nginx 負荷分散構成Nginx 負荷分散戦略ポーリング(デフォルト)重さip_ハッシュ公正(...

Promise カプセル化 wx.request メソッド

前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...

XHTML 入門チュートリアル: XHTML タグ

XHTML タグの紹介<br />おそらく、前のセクションで、XHTML ファイルと通常...

CentOS8 デプロイメント LNMP 環境で mysql8.0.29 をコンパイルしてインストールする方法の詳細なチュートリアル

1. 前提条件何度かインストールしているので、エラーについてはこれ以上説明しません。ちょっとわかりに...

CSS3 で高さと幅を不定にして垂直と水平に中央揃えするいくつかの方法

1. フレックスレイアウト 。父親 { ディスプレイ: フレックス; コンテンツの中央揃え: 中央;...

jQueryはシャトルボックス機能を実現する

この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...

@font-face を使用して Web ページに特殊文字を実装する (カスタム フォントを作成する)

数日前、CSS を使用して三角形の矢印を実装する方法について記事を書きました。 目的の効果は達成され...

ウェブページのFOUC問題によるウェブページの混乱の解決策

FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...