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 レスポンシブの使い方を説明します。

推薦する

Centos8で静的IPを設定する方法の詳細な説明

CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されますエラーメッセ...

JavaScript でネットワーク速度をテストする方法

目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...

Vueのsync修飾子の詳細な説明

目次1. 手順2. 修飾語3. .sync 修飾子4. まとめ1. 手順指示とは命令です。文字通りの...

mysql5.7.18のインストールと初期パスワードの変更方法

CentosでのMySQLのインストールについては、以前の記事を参照してください。 Centos7....

MySQL でデータを削除してもテーブル ファイルのサイズが変更されないのはなぜですか?

長期間稼働しているデータベースの場合、テーブルがストレージ領域を占有しすぎるという問題がよく発生しま...

MYSQLでリモートアクセス権限を有効にする方法

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

VUEは登録とログインの効果を実現します

この記事の例では、登録とログインの効果を実現するためのVUEの具体的なコードを紹介します。具体的な内...

mysql charset=utf8 本当に意味が分かりますか

1. まずテーブル作成ステートメントを見てみましょう テーブル学生を作成( sid int 主キー ...

C++ TpeScriptシリーズのジェネリックについて

目次1. テンプレート2. ジェネリック3. ジェネリック再帰4. デフォルトのジェネリックパラメー...

ウェブページの右下隅に「いいね!」カード効果を実現するための CSS (サンプルコード)

効果 HTML を実装するには、まずクリーンな HTML ページを準備し、ノードを記述します。 &l...

Docker で Redis センチネル モードを構成する方法 (複数のサーバー上)

目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...

Vue3サンドボックスの仕組みの詳しい説明

目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する参照する序文vue3サンドボック...

nginx設定ファイルの場所を見つける方法の詳細な説明

よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...

MySQL インストール図の概要

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

Reactベースのコンポーネントのカプセル化の実装手順

目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...