Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer une vue MySQL

Les vues SQL représentent un sous-ensemble de données dans la base de données, offrent une meilleure sécurité et simplicité pour l'analyse des données et la création de rapports. Voici comment créer une vue MySQL pour stocker des requêtes exécutées dynamiquement pour générer des résultats, au lieu de stocker des données réelles.

Comment créer une vue MySQL

Voici les étapes pour créer une vue MySQL.

Les vues SQL sont essentiellement des requêtes SQL stockées auxquelles un nom de "vue" a été attribué. Lorsque vous accédez à une vue SQL, sa requête est exécutée dynamiquement pour renvoyer le jeu de résultats.

Les vues SQL ne contiennent en réalité aucune donnée, mais uniquement la requête stockée, et occupent très peu d'espace.

Lecture bonus :comment obtenir le nombre total d'utilisateurs par jour dans MySQL

Quelles sont les utilisations de la vue SQL

Voici les principales utilisations de la vue SQL

  • Rapports – Les vues SQL ne représentent qu'un sous-ensemble de données. Ils peuvent donc être utilisés pour créer des tableaux de rapport pour l'analyse des données
  • Sécurité – Les vues SQL sont utilisées pour offrir une meilleure sécurité. Vous pouvez en toute sécurité donner aux utilisateurs l'accès aux vues au lieu des tables sous-jacentes
  • Simplicité – Vous pouvez créer une vue unique à partir de plusieurs tables à l'aide de jointures. Ainsi, les utilisateurs peuvent facilement accéder aux données sans connaître le schéma de base de données sous-jacent.

Lecture bonus :comment obtenir de nouveaux utilisateurs par jour dans MySQL

Quels sont les avantages des vues en SQL

Voici quelques-uns des avantages des vues en SQL :

  1. Une vue représente une table virtuelle et non une table réelle. Ils n'occupent donc aucun espace autre que la requête SQL stockée
  2. Vous pouvez utiliser des vues pour obtenir un sous-ensemble de données de table et limiter l'exposition des utilisateurs aux données sous-jacentes
  3. De même, vous pouvez créer une vue MySQL avec des données agrégées (par exemple, somme, nombre, etc.)
  4. Vous pouvez créer des vues personnalisées contenant des données provenant de plusieurs tableaux, résumés, partitions ou même des données calculées, sans modifier les données sous-jacentes.

Lecture bonus :comment calculer les revenus dans MySQL

Comment créer une vue MySQL

Il est très facile de créer une vue dans MySQL. La syntaxe de base pour créer une vue dans MySQL est

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

Disons que vous avez une table 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 |
+------------+------------+----------+

Supposons que vous souhaitiez créer une vue MySQL (par exemple order_view) qui affiche uniquement la date de commande et la quantité. Voici la requête SQL pour créer la vue

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

Vous pouvez maintenant interroger cette vue comme vous le feriez pour une table normale.

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 |
+------------+----------+

Lecture bonus :Comment obtenir les données de vente des 3 derniers mois dans MySQL

Vous pouvez également remplacer la vue en utilisant CRÉER OU REMPLACER déclaration. Cela remplacera la requête SQL pour la vue.

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 |
+------------+------------+----------+

Vous pouvez également créer une vue dans MySQL avec JOIN. Voici un exemple

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 |
+------------+----------+----------+

Comment supprimer la vue dans MySQL

Voici comment supprimer la vue dans MySQL, si vous n'en avez pas besoin. Voici la syntaxe

DROP VIEW view_name;

Voici un exemple

DROP VIEW order_view;

C'est ça! Vous pouvez désormais créer facilement une vue MySQL et l'utiliser pour l'analyse de données et la création de rapports.

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !