MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]

MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]

この記事では、例を使用して MySQL ビューの管理ビュー操作について説明します。ご参考までに、詳細は以下の通りです。

MySQL は、ビュー定義を表示するための SHOW CREATE VIEW ステートメントを提供します。構文構造を見てみましょう。

SHOW CREATE VIEW [データベース名].[ビュー名];

ビュー定義を表示するには、SHOW CREATE VIEW 句の後にビューの名前を指定する必要があります。まず、会社の組織構造を表示する従業員テーブルに基づく簡単なビューを作成し、それをデモンストレーションしてみましょう。

CREATE VIEW組織AS
  選択 
    CONCAT(E.lastname, E.firstname) AS 従業員、
    CONCAT(M.lastname, M.firstname) AS マネージャー
  から
    従業員 AS E
      内部結合
    従業員 AS M ON M.employeeNumber = E.ReportsTo
  ORDER BY マネージャー;

上記のビューからデータをクエリすると、次の結果が得られます。

mysql> SELECT * FROM 組織;
+------------------+------------------+
| 従業員 | マネージャー |
+------------------+------------------+
| ボンドゥール・ルイ | ボンドゥール・ジェラール |
| カスティージョパメラ | ボンドゥールジェラール |
| ジョーンズ・バリー | ボンドゥール・ジェラール |
| ヘルナンデスジェラール | ボンドゥールジェラール |
.......ここでは多くのデータが省略されています.......
| 加藤よしみ | 西真美 |
| キングトム | パターソンウィリアム |
| マーシュピーター | パターソンウィリアム |
| FixterAndy | パターソンウィリアム |
+------------------+------------------+
24行セット

ビューの定義を表示するには、次のように SHOW CREATE VIEW ステートメントを使用します。

SHOW CREATE VIEW 組織;

メモ帳などのプレーン テキスト エディターを使用してデータベース フォルダー内のビュー定義ファイルを開き、ビューの定義を表示することもできます。たとえば、組織ビュー定義を開くには、データベース フォルダーの下のデータ フォルダーでデータベース フォルダーを見つけて入力し、ビュー名に応じて .frm ファイルを見つけます。

ALTER VIEW と CREATE OR REPLACE VIEW を使用してビューを変更してみましょう。まず、アラート ビューの構文を見てみましょう。

変更
 [アルゴリズム = {MERGE | TEMPTABLE | 未定義}]
 VIEW [データベース名]. [ビュー名]
  として
 [SELECT文]

次のステートメントは、電子メール列を追加して組織ビューを変更する方法を示しています。

ALTER VIEW組織
 として 
 SELECT CONCAT(E.lastname,E.firstname) AS Employee、
     E.email AS employeeEmail、
     CONCAT(M.lastname,M.firstname) AS マネージャー
 従業員から
 INNER JOIN 従業員 AS M
  ON M.employeeNumber = E.ReportsTo
 ORDER BY マネージャー;

変更を確認するには、組織ビューからデータをクエリします。詳細は説明しません。別の構文構造を見てみましょう。

VIEW v_contacts AS を作成または置換
  選択 
    名、姓、内線番号、メールアドレス
  から
    従業員;
-- ビュー データをクエリします SELECT * FROM v_contacts;

変更するときに、ビューがすでに存在する場合、MySQL はビューのみを変更することに注意してください。ビューが存在しない場合は、MySQL は新しいビューを作成します。さて、上記の SQL 実行の結果を見てみましょう。

+-----------+-----------+------------+--------------------------------+
| 名 | 姓 | 内線番号 | メールアドレス |
+-----------+-----------+------------+--------------------------------+
| ダイアン | マーフィー | x5800 | [email protected] |
| メアリー | ヒル | x4611 | [email protected] |
| ジェフ | フィレッリ | x9273 | [email protected] |
| ウィリアム | パターソン | x4871 | [email protected] |
| ジェラルド | ボンドゥール | x5408 | [email protected] |
| アンソニー | ボウ | x5428 | [email protected] |
| レスリー | ジェニングス | x3291 | [email protected] |
.............. ここでは多くのデータが省略されています..................................
| マーティン | ジェラルド | x2312 | [email protected] |
| リリー | ブッシュ | x9111 | [email protected] |
| ジョン | ミンス | x9112 | [email protected] |
+-----------+-----------+------------+--------------------------------+
25行セット

v_contacts ビューに jobtitle 列を追加するとします。次のステートメントを使用できます。

VIEW v_contacts AS を作成または置換
  選択 
    名、姓、内線番号、メールアドレス、役職
  から
    従業員;
-- ビュー データをクエリします SELECT * FROM v_contacts;

上記のクエリ ステートメントを実行すると、データの列が追加されていることがわかります。

+-----------+-----------+-----------+--------------------------------+-----------------------+
| 名 | 姓 | 内線番号 | メールアドレス | 役職 |
+-----------+-----------+-----------+--------------------------------+-----------------------+
| ダイアン | マーフィー | x5800 | [email protected] | 社長 |
| メアリー | ヒル | x4611 | [email protected] | 営業担当副社長 |
| Jeff | Firrelli | x9273 | [email protected] | マーケティング担当副社長 |
................... ここでは大量のデータが省略されています................................................................
| 吉見 | 加藤 | x102 | [email protected] | 営業担当 |
| マーティン | ジェラルド | x2312 | [email protected] | 営業担当 |
| リリー | ブッシュ | x9111 | [email protected] | IT マネージャー |
| ジョン | ミンス | x9112 | [email protected] | マーケティング担当 SVP |
+-----------+-----------+-----------+--------------------------------+-----------------------+
25行セット

次に、DROP VIEW ステートメントを使用してビューを削除します。まず、構文構造を見てみましょう。

DROP VIEW [存在する場合] [データベース名].[ビュー名]

上記の SQL では、IF EXISTS はステートメントのオプション句であり、これによりビューが存在するかどうかを確認し、存在しないビューを削除するときにエラーを回避できます。完了したら、組織ビューを削除しましょう。

DROP VIEW IF EXISTS組織;

ビューが変更または削除されるたびに、MySQL はビュー定義ファイルを /database_name/arc/ ディレクトリにバックアップすることに注意する必要があります。 誤ってビューを変更または削除した場合は、/database_name/arc/ フォルダーからバックアップを取得できます。

さて、この記録についてはこれですべてです。

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

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

以下もご興味があるかもしれません:
  • PHPを使用してMySqlデータベースにアクセスする論理操作と追加、削除、変更、チェックの例
  • PHPは、オブジェクト指向のmysqli拡張ライブラリを実装し、追加、削除、変更、クエリ操作ツールクラスを作成します。
  • PHP MySqlの追加、削除、変更、チェックの簡単な例
  • PHP+MySQLは、シンプルな追加、削除、変更、クエリ機能を実装します。
  • PHP+MYSQLはユーザーの追加、削除、変更、クエリを実装します
  • MySQL の詳細な単一テーブルの追加、削除、変更、クエリの CRUD ステートメント
  • MySQL トリガーの追加、削除、変更、クエリ操作の例
  • MySQLとPHPの基礎と応用: 追加、削除、変更、クエリ

<<:  Dockerデーモンのセキュリティ設定項目の詳細な説明

>>:  Vueの自己ネストツリーコンポーネントの使い方の詳細な説明

推薦する

Ubuntu 19にTheanoをインストールする際の問題を解決する

解決: pythearn2 パッケージをダウンロードしたディレクトリで、setup.py ファイルを...

Vue要素はテーブルの追加、削除、データの変更を実装します

この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共...

MySQL ジョイントテーブル更新デー​​タの詳細な例

1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントでJOIN句...

Linux のロード vmlinux デバッグ

gdb を使用してカーネル シンボルをロードする arm-eabi-gdb 出力/ターゲット/製品/...

VMware 仮想マシン ubuntu18.04 インストール チュートリアル

インストール手順1. 仮想マシンを作成する 2. [カスタム(詳細)]を選択し、[次へ]をクリックし...

MySQL 8.0.11 圧縮版のインストールチュートリアル

この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...

HTML テーブルの空白セル補完を実装する方法

私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...

Nginx/Httpd リバース プロキシ Tomcat 設定チュートリアル

以前のブログでは、Tomcatのサーバーの各コンポーネントの使用について学びました。 Tomcatは...

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決めabsolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に...

Linuxでディスク使用量を確認する方法

1. dfコマンドを使用してディスク全体の使用量を表示します。 df コマンドは、ハードディスクのマ...

モバイル アプリのユーザー インターフェース設計に関する 10 のヒント

ヒント1: 集中力を保つ最高のモバイル アプリは、1 つのことを非常にうまく行うことに重点を置いてい...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

一般的なCSS3アニメーションの実装方法

1. 何ですかCSS アニメーションは、CSS を使用して拡張マークアップ言語 (XML) 要素をア...

大規模な Vue.js プロジェクトの構築と維持のための 10 のベスト プラクティス

目次1. スロットを使用してコンポーネントを理解しやすくし、より強力にする2. Vuexストアを正し...