MySQLビューの原理と使用法の詳細な説明

MySQLビューの原理と使用法の詳細な説明

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

この記事の内容:

  • ビューとは何か
  • ビューの作成
  • 表示 表示
  • ビューの変更
  • ビューの削除
  • ビューに対するデータ操作

リリース日: 2018-04-13


ビューとは:

  • ビューは、クエリ結果に基づく仮想テーブルです。データの取得元となるテーブルはベース テーブルと呼ばれます。
  • ビューの作成と削除は基本テーブルに影響しません。
  • ビューの挿入および変更操作は基本テーブルに影響します。
  • ビューが複数の基本テーブルから派生している場合、基本テーブルを変更することはできません。
  • ビューの用途:
    • 1. ビューはクエリ結果に基づいているため、ビューでは、ユーザーに表示すべきではないベース テーブル内の一部のデータ情報を非表示にすることができます (たとえば、開発者はユーザー情報テーブルを必要としますが、ユーザーのパスワード情報は表示すべきではありません)。
    • 2. ビューは、クエリ情報を保存して操作を簡単にできる仮想テーブルです。
    • ......


ビューを作成します。

  • 構文: create view view name as select statement [with check option]; [select statement は複数のテーブルから結果をクエリできます: 結合クエリ、結合クエリ]
    • チェックオプションを使用すると、where などの条件文に基づいて挿入および変更操作が制限されます (たとえば、取得したビュー データが男性の場合、男性を女性に変更することはできません)。
        ビュー man_info を作成し、select * from student で gender="male" を指定します。

補充:

  • ビューを作成するための別のオプションがあります: ビューアルゴリズム (ここでは説明しません。知りたい場合は Baidu で検索してください)


景色をご覧ください:

  • ビューは仮想テーブルです。すべてのテーブル ビュー ステートメントはビューで使用できます。
    • すべてのビューを表示: テーブル/ビューを表示します。
    • ビュー構造を表示します: ビュー名から列を desc/describe/show します。
    • ビュー作成ステートメントを表示します: show create table/view view name;

ビューの変更:

  • ビュー定義エラーが発生する場合があり、その場合はビュー変更操作が実行されます。
  • 構文: alter view view name as new select statement;
user_view を select * from user として作成します。
ビュー user_view を変更し、username、money を user から選択します。

補充:

  • ビューは仮想テーブルなので、ビューを変更する別の方法があります。ビューの作成または置換ビュー作成ステートメント; [古いビューは新しいビューによって上書きされます]

ビューの削除:

  • 構文: drop view view name[,view name…];
  • 例:
    ビュー student_class、student_info を削除します。

ビューのデータ操作:

  • ビューが複数の基本テーブルから派生している場合、基本テーブルを変更することはできません。ただし、理論的には更新は許可されます。

データビューを表示:

  • 構文: select field list from view name; [基本テーブルのクエリ操作と一致します。 】

ビューへのデータ挿入:

  • データが複数の基本テーブルから取得される場合、挿入操作は実行できません。
  • 構文: insert into view name values(); [基本テーブルの挿入操作と一致します。 】
  • 注: ビュー構造は基本テーブルから取得されるため、基本テーブルの制約を受け入れる必要があります。フィールドを空にすることが許可されていないが、ビューの挿入操作で値が割り当てられていない場合、挿入は失敗します。

データの変更を表示:

  • 構文: update view name set field name = value where condition; [基本テーブルの変更操作と一致します。 】

ビューからデータを削除する:

  • データが複数の基本テーブルから取得される場合、削除操作は実行できません。
  • 構文: delete from view name where condition; [基本テーブルの削除操作と一致します。 】

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

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

以下もご興味があるかもしれません:
  • MySQLにおけるビューの作成(CREATE VIEW)と使用制限の詳しい説明
  • MySQLでビューを作成する方法
  • MySQL ビューの原理と使用法の詳細な分析
  • MySQLのビューとインデックスの使い方と違いの詳細な説明
  • MySql ビュー、トリガー、ストアド プロシージャに関する簡単な説明
  • MySql ビュー トリガー ストアド プロシージャの詳細な説明
  • MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]
  • MySQLで更新可能なビューを作成する方法の詳細な説明
  • MySQL における単一テーブルと複数テーブル、およびビューと一時テーブルに対する Update と Select の違い
  • mysql 3つのテーブルを接続してビューを作成する
  • MySQL ビューの原則分析

<<:  Windows 10 に Linux サブシステムをインストールする 2 つの方法 (画像とテキスト付き)

>>:  この記事では、Vue 3.0 レスポンシブの使い方を説明します。

推薦する

MySQL 実践演習 シンプルなライブラリ管理システム

目次1. ソート機能2. データベースを準備する3. データベースに関連するエンティティクラスの構築...

CSS アニメーション プロパティの使用方法とサンプル コード (transition/transform/animation)

開発中、優れたユーザー インターフェイスには常にいくつかのアニメーションが組み込まれます。 CSS ...

MySQL 5.7 のインストールと設定方法のグラフィックチュートリアル

このチュートリアルでは、MySQL 5.7のインストールと設定方法を参考までに紹介します。具体的な内...

WeChatアプレットが複数行テキストのスクロール効果を実現

この記事の例では、WeChatアプレットで複数行のテキストスクロールを実装するための具体的なコードを...

ウェブページ制作時のコードコメントの書き方

<br />私の仕事で使用しているアノテーションの書き方の基準をまとめました。技術的な内...

Vueは移動可能なフローティングボタンを実装します

この記事の例では、どこにでも移動できるフローティングボタンを実現するためのVueの具体的なコードを共...

1時間で学ぶMySQLの基礎

目次MySQL を使い始めるMySQL 管理6. MySQL サーバーを起動および停止します。 7....

Linuxで環境変数を削除する詳細な手順

Linuxで環境変数を削除するには?unsetコマンドを使用してすぐに削除します1. Linuxクラ...

JavaScript で文字列を数値に変換する方法

目次1.parseInt(文字列、基数) 2. 数値() 3.parseFloat()主なメソッドは...

MySQLの始め方から諦め方まで徹底解説 - インストール

学ぶ内容1. ソフトウェアのインストールとサーバーの設定。 2. (オプションですが、強くお勧めしま...

ウェブページでよく使用される共有コードの完全なリスト(フロントエンドに必須)

コードをコピーコードは次のとおりです。 1. 新浪微博<a href="http:/...

Alibaba Cloud ECSインスタンスのユーザールートパスワードとリモート接続方法を設定する方法

Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...

入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...

MySQL データを誤って削除した場合の簡単な解決策 (MySQL フラッシュバック ツール)

概要Binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

image/x-png の ContentType について

これにより、png ファイルのアップロードも不可能になりました (後で情報を調べたところ、レジストリ...