この記事では、例を使用して 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データベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Dockerデーモンのセキュリティ設定項目の詳細な説明
>>: Vueの自己ネストツリーコンポーネントの使い方の詳細な説明
最近、次のデータ型のデータベースに遭遇しました:decimal(14,4)発生した問題は次のとおりで...
目次1. プロトタイプチェーン継承2. コンストラクタによる継承3. 組み合わせ継承4. プロトタイ...
導入Vue Router 、 Vue.jsの公式ルーティング マネージャーです。 Vue.jsのコア...
目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. 準備2. 梱包を開始する...
背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...
質問: Vue にブログ投稿をアップロードするためのフォームがあり、タイトル、本文、説明、スニペット...
目次コンポーネントの基本概念オブジェクトとコンポーネントの違い成分属性属性とプロパティ属性:財産:ク...
1. Docker psはコンテナをリストします 2. Docker cpはコンテナにファイルをコピ...
目次背景メタバースとは何ですか?成果を達成するトライアル 1: THREE.TorusGeometr...
目次1. innodb_buffer_pool_size 2. innodb_log_buffer_...
目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...
オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを...
1.タイムアウトを設定する3 秒後に abc を印刷します。一度だけ実行します。 setTimeou...
場合によっては、SQL ステートメントが通常どおり、非常に速く実行される状況に遭遇することがあります...
現在、フロントエンドのパフォーマンス最適化について学んでいます。適切な解決策を見つけ、パフォーマンス...