ホームページ  >  記事  >  データベース  >  mysqlビューの用途は何ですか?

mysqlビューの用途は何ですか?

藏色散人
藏色散人オリジナル
2019-05-20 11:24:5522048ブラウズ

mysql ビューの機能: 1. 再利用性の向上、2. プログラムの実行に影響を与えずにデータベースを再構築、3. セキュリティ パフォーマンスの向上、ユーザーごとに異なるビューを設定可能、4. データの作成より明確に。

mysqlビューの用途は何ですか?

#テスト テーブル: ユーザーには ID、名前、年齢、性別のフィールドがあります

テスト テーブル: 商品には ID、名前、価格のフィールドがあります

テスト テーブル: ug には id、userid、goodsid フィールドがあります

ビューの役割は非常に強力です。私が経験した利点は次のとおりです:

関数 1 :

関数と同様に、再利用性を向上させます。ユーザー名や商品名を頻繁に取得したい場合。次の SQL 言語を使用する必要があります。例:

select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id;

ただし、ビューの場合は異なります。他のビューを作成します。例

create view other as select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id;

ビューを作成すると、次のようにユーザー名と商品名が取得できます。例:

select * from other;

上記のSQL文により、ユーザー名と商品名を取得できます。

機能 2:

プログラムの実行に影響を与えずにデータベースを再構築します。特定の要件により、ユーザー テーブル usera と userb テーブルを分離する必要がある場合、2 つのテーブルの構造は次のとおりです。

##テスト テーブル: usera には id、name、age フィールドがあります

Test table :userb has id, name, and sex field

このとき、PHP 側で SQL ステートメント: select * from user; を使用すると、テーブルが存在しないというメッセージが表示されます。この問題を解決します。解決策: ビューを作成します。次の SQL ステートメントはビューを作成します。

 create view user as select a.name,a.age,b.sex from usera as a, userb as b where a.name=b.name;

上記では、名前が一意であることを前提としています。このとき、php 側では SQL ステートメント select * from user; が使用され、エラーは報告されません。これにより、スクリプトプログラムを変更することなくデータベース構造を変更する機能が実現される。

機能3:

安全性能の向上。ユーザーごとに異なるビューを設定できます。たとえば、ユーザーはユーザー テーブルの名前と年齢データのみを取得できますが、性別データは取得できません。このようなビューを作成できます。例は次のとおりです:

create view other as select a.name, a.age from user as a;

この場合、sql ステートメントを使用します: select * from other; 最大でも名前と年齢のデータのみを取得でき、他のデータは取得できません。

機能 4:

データをより明確にします。必要なデータに対して必要な種類のビューを作成します。上記の 3 つの関数を分析すると、この関数は簡単に理解できるはずです。

以上がmysqlビューの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。