sql >> データベース >  >> RDS >> Mysql

MySQLビューを作成する方法

    SQLビューは、データベース内のデータのサブセットを表し、データ分析とレポートのセキュリティとシンプルさを向上させます。実際のデータを保存する代わりに、動的に実行されて結果を生成するクエリを保存するMySQLビューを作成する方法は次のとおりです。

    MySQLビューを作成する方法

    MySQLビューを作成する手順は次のとおりです。

    SQLビューは基本的に、「ビュー」名が割り当てられた保存済みのSQLクエリです。 SQLビューにアクセスすると、クエリが動的に実行され、結果セットが返されます。

    SQLビューには実際にはデータは含まれていませんが、保存されているクエリのみが含まれており、占有するスペースはごくわずかです。

    ボーナスリード:MySQLで1日あたりの合計ユーザー数を取得する方法

    SQLビューの用途は何ですか

    SQLビューの主な用途は次のとおりです

    • レポート – SQLビューは、データのサブセットのみを表します。したがって、これらを使用して、データ分析用のレポートテーブルを作成できます
    • セキュリティ – SQLビューは、より優れたセキュリティを提供するために使用されます。基になるテーブルの代わりに、ユーザーにビューへのアクセスを安全に与えることができます
    • シンプルさ –結合を使用して、複数のテーブルから単一のビューを作成できます。そのため、ユーザーは基盤となるデータベーススキーマを知らなくてもデータに簡単にアクセスできます。

    ボーナスリード:MySQLで1日あたりの新規ユーザーを獲得する方法

    SQLのビューの利点は何ですか

    SQLのビューの利点のいくつかを次に示します。

    1. ビューは、実際のテーブルではなく仮想テーブルを表します。したがって、格納されているSQLクエリ以外のスペースを占有することはありません
    2. ビューを使用してテーブルデータのサブセットを取得し、基になるデータへのユーザーの露出を制限できます
    3. 同様に、集計データ(合計、カウントなど)を使用してMySQLビューを作成できます
    4. 基になるデータを変更せずに、複数のテーブル、サマリー、パーティション、さらには計算されたデータからのデータを含むカスタムビューを作成できます。

    ボーナスリード:MySQLで収益を計算する方法

    MySQLビューを作成する方法

    MySQLでビューを作成するのは非常に簡単です。 MySQLでビューを作成するための基本的な構文は次のとおりです

    CREATE VIEW view_name AS
    SELECT column1, column2.....
    FROM table_name
    WHERE [condition];
    

    テーブルorders(order_date、product_id、quantity)があるとします。

    mysql> select * from orders;
    +------------+------------+----------+
    | order_date | product_id | quantity |
    +------------+------------+----------+
    | 2020-05-01 |          1 |       23 |
    | 2020-05-01 |          2 |       35 |
    | 2020-05-02 |          1 |       45 |
    | 2020-05-02 |          2 |       23 |
    | 2020-05-03 |          1 |       19 |
    | 2020-05-03 |          2 |       15 |
    | 2020-05-04 |          1 |       34 |
    | 2020-05-04 |          2 |       56 |
    +------------+------------+----------+
    

    order_dateと数量のみを表示するMySQLビュー(order_viewなど)を作成するとします。ビューを作成するためのSQLクエリは次のとおりです

    mysql> create view order_view as
          select order_date,quantity
          from orders;
    
    

    これで、通常のテーブルと同じようにこのビューをクエリできます。

    mysql> select * from order_view;
    +------------+----------+
    | order_date | quantity |
    +------------+----------+
    | 2020-05-01 |       23 |
    | 2020-05-01 |       35 |
    | 2020-05-02 |       45 |
    | 2020-05-02 |       23 |
    | 2020-05-03 |       19 |
    | 2020-05-03 |       15 |
    | 2020-05-04 |       34 |
    | 2020-05-04 |       56 |
    +------------+----------+
    

    ボーナスリード:MySQLで過去3か月の売上データを取得する方法

    作成または置換を使用してビューを置き換えることもできます 声明。これにより、ビューのSQLクエリが置き換えられます。

    mysql> create or replace view order_view as
           select order_date,product_id,quantity
           from orders;
    
    mysql> select * from order_view;
    +------------+------------+----------+
    | order_date | product_id | quantity |
    +------------+------------+----------+
    | 2020-05-01 |          1 |       23 |
    | 2020-05-01 |          2 |       35 |
    | 2020-05-02 |          1 |       45 |
    | 2020-05-02 |          2 |       23 |
    | 2020-05-03 |          1 |       19 |
    | 2020-05-03 |          2 |       15 |
    | 2020-05-04 |          1 |       34 |
    | 2020-05-04 |          2 |       56 |
    +------------+------------+----------+
    

    JOINを使用してMySQLでビューを作成することもできます。これが例です

    mysql> create view order_view as
           select orders.order_date,orders.quantity,sales.sale
           from orders INNER JOIN sales on orders.order_date=sales.order_date;
    mysql> select * from order_view;
    +------------+----------+----------+
    | order_date | quantity |    sale  |
    +------------+----------+----------+
    | 2020-05-01 |       23 |      350 |
    | 2020-05-01 |       23 |      375 |
    | 2020-05-02 |       45 |      423 |
    | 2020-05-02 |       23 |      350 |
    | 2020-05-03 |       19 |      230 |
    | 2020-05-03 |       15 |      180 |
    | 2020-05-04 |       34 |      450 |
    | 2020-05-04 |       56 |      650 |
    +------------+----------+----------+
    

    MySQLでビューをドロップする方法

    必要がない場合は、MySQLでビューをドロップする方法は次のとおりです。構文は次のとおりです

    DROP VIEW view_name;
    

    これが例です

    DROP VIEW order_view;
    

    それでおしまい!これで、MySQLビューを簡単に作成して、データ分析とレポートに使用できます。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. ロック待機タイムアウトの修正が超過しました。 'スタックしたMysqlテーブルのトランザクションを再開してみますか?

    2. MySQLEnterpriseからMariaDB10.3への移行

    3. DBMS_STATSを使用したユーザー定義ルーチン、パ​​ートII

    4. OracleManagedODP.NETがtnsnames.oraを見つけることができません