mysqlビュー

1355 ワード

一、ビューの概念
表示(view)は、仮想的に存在するテーブルで、論理テーブルであり、それ自体にデータが含まれていない.select文としてデータ辞書に保存されている.ビューによって、ベーステーブルの一部のデータが表示される.ビューデータは、ビューのクエリーで使用されるテーブルをカスタマイズし、ビューで動的に生成させる.ベーステーブル:ビューを作成するテーブルをベーステーブルbase tableと呼ぶ
通常のテーブルに対するビューの利点は、主に次のとおりです.
1)単純:ビューを使用するユーザは、後の対応するテーブルの構造、関連条件、フィルタ条件に全く関心を持つ必要はなく、ユーザにとってすでにフィルタされた複合条件の結果セットである.2)セキュリティ:ビューを使用するユーザーは、クエリーが許可されている結果セットにのみアクセスできます.テーブルに対する権限管理は、行や列に制限されませんが、ビューを使用すると簡単に実現できます.3)データ独立:一旦ビューの構造が確定したら、テーブル構造の変化がユーザーに与える影響を遮蔽でき、ソーステーブルの増加列はビューに影響しない;ソース・テーブルがカラム名を変更すると、ビューを変更してアクセス者に影響を与えることなく解決できます.
二、ビュー操作
01、ビューの作成または変更
ビューを作成するにはcreate viewの権限が必要であり、クエリーに関連する列に対してselectの権限が必要です.create or replaceまたはalterを使用してビューを変更する場合
ではdropを試みる権限が必要です
ビュー構文の作成
CREATE OR REPLACE|ALGORITHM={UNDEFINED | MERGE | TEMPTABLE}]
	VIEW view_name [(colum_list)]
	AS select_statement
	[WITH [CASCADED | LOCAL ] CHECK OPTION ]

ビュー構文の変更
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
	VIEW view_name [(colum_list)]
	AS select_statement
	WITH [CASCADED | LOCAL | CHECK OPTION]	

操作の例
      

CREATE OR REPLACE VIEW staff_list_vie AS
SELECT s.staff_id,s.first_name,s.last_name,a.adress
FROM staff AS s,address AS a
WHERE s,address_id = a.address_id

 
転載先:https://www.cnblogs.com/kingle-study/p/9962781.html