Guida MySQL – Creazione VIEW

mysql-logo

In questa sessione della guida MySQL vedremo come si creano le view. Abbiamo già visto nella lezione precedente cosa è una view e a cosa serve; oggi vedremo in pratica come se ne crea una. Come si può ben immaginare, il comando per creare una view è CREATE VIEW. La sintassi generale è la seguente:

MySQL – creazione di una view da una tabella

Per fare un esempio pratico creiamo una view chiamata view_titolo che contiene il nome, il cognome e la qualifica (titolo) dei dipendenti di Bigcompany. La sintassi sarà:

Il comando ci darà il seguente risultato:

A questo punto potremo interrogare la nostra view con il comando SELECT:

La cosa interessante è che se modifichiamo una informazione su una tabella, ci ritroviamo con le modifiche anche sulla view. Ad esempio, vogliamo scrivere per esteso la qualifica di Giulio Cesare, cambiando il titolo da AD a “Amministratore Delegato”:

Guardando le modifiche sulla tabella avremo:

Allo stesso modo vedremo che sono state modificate anche i dati sulla nostra view view_titolo:

MySQL – creare una VIEW con le JOIN

MySQL consente di creare le view con i dati di più tabelle unite da una o più JOIN. Volendo vedere un esempio pratico, creiamo una view chiamata view_data_nascita contenente il nome, il cognome e la data di nascita dei dipendenti. Il nome e il cognome si trovano sulla tabella dati_dipendente, mentre la data di nascita si trova sulla tabella dati_personali; dovremo quindi fare una JOIN tra le due tabelle:

Vedremo quindi che è stata creata la VIEW richiesta contenente i dati delle due tabelle:

MySQL – creare una view con dati aggregati

In MySQL una view non deve avere per forza lo stesso numero di record della tabella di origine, è anche possibile creare delle view con dei dati aggregati. Ad esempio volendo creare una view con le qualifiche dei dipendenti e il numero di dipendenti per ciascuna qualifica faremo:

E il risultato sarà:

Tags:

About the Author

Post a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Top