Mysql
 sql >> Database >  >> RDS >> Mysql

Come creare una vista MySQL

Le viste SQL rappresentano un sottoinsieme di dati nel database, offrono maggiore sicurezza e semplicità per l'analisi e il reporting dei dati. Ecco come creare una vista MySQL per archiviare le query eseguite dinamicamente per generare risultati, invece di memorizzare i dati effettivi.

Come creare una vista MySQL

Ecco i passaggi per creare una vista MySQL.

Le viste SQL sono fondamentalmente query SQL memorizzate a cui è stato assegnato un nome di "vista". Quando accedi a una vista SQL, la loro query viene eseguita dinamicamente per restituire il set di risultati.

Le viste SQL in realtà non contengono dati ma solo la query archiviata e occupano pochissimo spazio.

Bonus Leggi:come ottenere utenti totali al giorno in MySQL

Quali sono gli usi della vista SQL

Ecco gli usi chiave della visualizzazione SQL

  • Segnalazione – Le viste SQL rappresentano solo un sottoinsieme di dati. Quindi possono essere utilizzati per creare tabelle di report per l'analisi dei dati
  • Sicurezza – Le viste SQL vengono utilizzate per offrire una maggiore sicurezza. Puoi tranquillamente concedere agli utenti l'accesso alle viste invece che alle tabelle sottostanti
  • Semplicità – È possibile creare una vista singola da più tabelle utilizzando i join. In questo modo gli utenti possono accedere facilmente ai dati senza conoscere lo schema del database sottostante.

Bonus Leggi:Come ottenere nuovi utenti al giorno in MySQL

Quali sono i vantaggi delle viste in SQL

Ecco alcuni dei vantaggi delle viste in SQL:

  1. Una vista rappresenta una tabella virtuale e non una tabella reale. Quindi non occupano altro spazio oltre alla query SQL archiviata
  2. Puoi utilizzare le viste per ottenere un sottoinsieme di dati della tabella e limitare l'esposizione degli utenti ai dati sottostanti
  3. Allo stesso modo, puoi creare una vista MySQL con dati aggregati (ad es. somma, conteggio, ecc.)
  4. Puoi creare viste personalizzate che contengono dati da più tabelle, riepiloghi, partizioni o anche dati calcolati, senza modificare i dati sottostanti.

Bonus Leggi:Come calcolare le entrate in MySQL

Come creare una vista MySQL

È molto facile creare una vista in MySQL. La sintassi di base per creare una vista in MySQL è

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

Supponiamo che tu abbia una tabella 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 |
+------------+------------+----------+

Supponiamo che tu voglia creare una vista MySQL (ad es. order_view) che mostri solo order_date e quantità. Ecco la query SQL per creare la vista

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

Ora puoi interrogare questa vista proprio come faresti con una normale tabella.

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

Bonus Leggi:Come ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL

Puoi anche sostituire la visualizzazione utilizzando CREA O SOSTITUisci dichiarazione. Questo sostituirà la query SQL per la visualizzazione.

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

Puoi anche creare una vista in MySQL con JOIN. Ecco un esempio

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

Come eliminare la visualizzazione in MySQL

Ecco come rilasciare la visualizzazione in MySQL, se non ne hai bisogno. Ecco la sintassi

DROP VIEW view_name;

Ecco un esempio

DROP VIEW order_view;

Questo è tutto! Ora puoi creare facilmente una vista MySQL e utilizzarla per l'analisi dei dati e la creazione di report.

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!