Come creare una vista in mysql

Come creare una vista in mysql
In MySQL, una vista è una tabella virtuale che non archivia i dati ma mostra i dati archiviati in altre tabelle. Le visualizzazioni non sono altro che query SQL perché memorizzano query SQL che restituiscono un set di risultati. Sono anche conosciuti come tabelle virtuali.

Questo tutorial passa come creare e utilizzare le visualizzazioni MySQL nel tuo database per eseguire varie azioni. Ad esempio, è possibile utilizzare viste per nascondere dati specifici dagli utenti, consentendo loro di visualizzare i dati memorizzati in una tabella utilizzando una vista. Le visualizzazioni possono anche consentire agli sviluppatori di creare connessioni semplici e astratte a un database.

Visualizzazioni: utilizzo di base

È possibile utilizzare la sintassi generale di seguito per creare una vista in mysql:

Crea [o sostituisci] Visualizza 'View_name' come selezionare cols da tbl_name;

Iniziamo chiamando la clausola Crea View, seguita dal nome della vista che desideriamo creare. Il nome della vista dovrebbe essere univoco in un database e non dovrebbe essere lo stesso nome di una tabella esistente. Ciò è dovuto alla funzione in cui le viste e le tabelle condividono uno spazio dei nomi simile.

La clausola o di sostituzione è un parametro opzionale che consente di sostituire una vista esistente con quella corrente. Se non specificato, la creazione di una vista con un nome che esiste restituirà un errore.

Infine, specifichiamo la clausola selezionata seguita dai nomi delle colonne per la vista. È bene notare che è anche possibile aggiungere condizioni all'istruzione per selezionare tabelle specifiche in cui le condizioni sono soddisfatte.

Esempio di casi d'uso

Usiamo vari esempi per illustrare come possiamo creare visualizzazioni in mysql.

Per creare una vista semplice, possiamo utilizzare qualsiasi database di esempio come Sakila Sample DB o crearne uno. Per motivi di semplicità, userò il database Sakila. Considera la query di seguito per creare una semplice vista.

Usa Sakila;
Crea View Sample_View come selezione di rento_id, importo dal gruppo di pagamento da rental_id;
Mostra i tavoli;

Una volta eseguite le query sopra, creeremo una vista con le colonne specificate. Puoi vedere la vista creata chiamando le tabelle dello spettacolo in mysql come mostrato di seguito:

----------Trattato----------------------
| Sample_view |
| personale |
| Staff_list |
| negozio |
+----------------------------+

NOTA: Come accennato, le viste e le tabelle condividono lo stesso spazio dei nomi; Pertanto, possono essere visualizzati come una tabella nel comando sopra. Tuttavia, non è una tabella che può essere vista usando il comando completo dello spettacolo:

| Sample_view | Visualizza |

Una volta creata la query, è possibile interrogare le informazioni archiviate come se fosse una normale tabella mysql. Per esempio:

Seleziona * dal limite Sample_view 5;
+-----------+--------+
| Rental_id | Importo |
+-----------+--------+
| Null | 1.99 |
| 1 | 2.99 |
| 2 | 2.99 |
| 3 | 3.99 |
| 4 | 4.99 |
+-----------+--------+
5 righe in set (0.04 sec)

L'uscita dipenderà dalle colonne memorizzate nella vista.

Come aggiornare una vista

MySQL consente anche di modificare o aggiornare le informazioni in una vista senza lasciarle cadere utilizzando la clausola Alter.

La sintassi generale per l'aggiornamento di una vista è:

ALTER VIEW View_Name come selezionare Cols da Table_name;

Ad esempio, possiamo eseguire un semplice aggiornamento a Sample_View aggiungendo una colonna con la somma dei valori come mostrato nella query seguente:

Mysql> altera visualizza sample_view come selezione di noleggio_id, importo, somma (importo * 10) dal gruppo di pagamento da rental_id;
Mysql> desc campione_view;
+------------------+---------------+------+-----+---------+-------+
| Campo | Tipo | Null | Chiave | Predefinito | Extra |
+------------------+---------------+------+-----+---------+-------+
| Rental_id | int | Sì | | Null | |
| Importo | decimale (5,2) | No | | Null | |
| Somma (importo * 10) | decimale (29,2) | Sì | | Null | |
+------------------+---------------+------+-----+---------+-------+

La query sopra aggiorna i dati archiviati nella vista senza distruggere la vista esistente.

Come abbandonare una vista

Eliminare una vista esistente in MySQL è semplice come chiamare la clausola di caduta seguita dal nome della vista.

Ad esempio, per rimuovere il campione_view creato nelle sezioni sopra, possiamo fare:

Drop View Se esiste Sample_View;

La query sopra distrugge la vista specificata e tutti i dati archiviati in essa.

Conclusione

In questo tutorial, hai imparato come creare e utilizzare le viste MySQL per creare copie di una tabella di database.