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の自己ネストツリーコンポーネントの使い方の詳細な説明

推薦する

nginx をベースにリロードなしでアップストリーム サーバーの動的な自動起動と停止を実装する方法

目次1. Consulクラスタをデプロイする1. 準備3. Consulクラスタを作成する4. 管理...

HTMLの水平線注釈とコードコメントの使い方をマスターするだけです

水平線<hr /> タグを使用して、現在の位置に水平の分割線を描画します。例: XML/...

Vue3 の使用 (パート 1) Vue CLI プロジェクトの作成

目次1. 公式ドキュメント2. Vue CLIプロジェクトを作成する1. Vue CLIをインストー...

Nginx レベルで基本的なユーザー認証を構成する手順を完了します。

序文アプリケーション シナリオ: おそらく、内部 Web サイトは外部ユーザーにアクセス可能である必...

mysql8.0.11 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

mysql 8.0.11 winx64のインストールチュートリアルは以下のように記録され、みんなと...

WeChatアプレット開発の実践スキル:データの転送と保存

日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...

Tomcat でタイムアウトしたセッションを監視および削除する方法

序文偶然、30 分の Tomcat セッション時間は、セッションが作成された後、30 分間のみ有効で...

MySQLでトリガーを作成する方法

この記事の例では、参考のためにMySQLトリガーを作成するための具体的なコードを共有しています。具体...

近々ブラウザに導入される CSS :is() と :where() の簡単な分析

Safari (Technology Preview 106) および Firefox (バージョン...

React Native APPのアップデートに関する簡単な説明

目次アプリ更新プロセス大まかなフローチャートアプリ情報の更新1. まず取得する必要があるファイルアド...

よくある CSS のヒントと経験談 11 選

1. 画像の下にある数ピクセルの空白を削除するにはどうすればよいですか?コードをコピーコードは次のと...

MySQLデータベースバックアップのさまざまな実装方法の概要

この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参...

Node.js でのクラスター作成に関する簡単な説明

目次クラスタクラスターの詳細クラスター内のイベントクラスター内のメソッドクラスター内の属性クラスター...

HTML における水平および垂直の中央揃え方法の詳細な説明 (基礎)

序文馬を書いていたとき、水平方向と垂直方向の中央揃えの方法について、誰もあまり知らなかったと思います...

FTP、FTPS、SFTPの違いについて簡単に説明します

目次FTP、FTPS、SFTP の概要FTP FTPS FTPサーバーFTPソフトウェアのアクティブ...