Cómo crear una vista en MySQL

Cómo crear una vista en MySQL
En MySQL, una vista es una tabla virtual que no almacena los datos, pero muestra datos almacenados en otras tablas. Las vistas no son más que consultas SQL porque almacenan consultas SQL que devuelven un conjunto de resultados. También se conocen como tablas virtuales.

Este tutorial pasa sobre cómo crear y usar vistas de MySQL en su base de datos para realizar varias acciones. Por ejemplo, puede usar vistas para ocultar datos específicos de los usuarios, lo que les permite ver los datos almacenados en una tabla utilizando una vista. Las vistas también pueden permitir a los desarrolladores crear conexiones simples y abstractas a una base de datos.

Vistas: uso básico

Puede usar la sintaxis general a continuación para crear una vista en MySQL:

Crear [o reemplazar] Ver 'View_name' como seleccionar cols de tbl_name;

Comenzamos llamando a la cláusula Crear vista, seguido por el nombre de la vista que deseamos crear. El nombre de la vista debe ser único en una base de datos y no debe ser el mismo nombre que una tabla existente. Eso se debe a la característica donde las vistas y las tablas comparten un espacio de nombres similar.

La cláusula o reemplazar es un parámetro opcional que le permite reemplazar una vista existente con la actual. Si no se especifica, crear una vista con un nombre que exista devolverá un error.

Finalmente, especificamos la cláusula de selección seguida de los nombres de las columnas para la vista. Es bueno tener en cuenta que también puede agregar condiciones a la declaración para seleccionar tablas específicas donde se cumplan las condiciones.

Ejemplo de casos de uso

Usemos varios ejemplos para ilustrar cómo podemos crear vistas en MySQL.

Para crear una vista simple, podemos usar cualquier base de datos de muestra, como la muestra de Sakila DB o crear una. En aras de la simplicidad, usaré la base de datos Sakila. Considere la consulta a continuación para crear una vista simple.

Usa sakila;
Crear vista sample_view como seleccionar Rental_id, monto del grupo de pago por Rental_ID;
Mostrar mesas;

Una vez que ejecutemos las consultas anteriores, crearemos una vista con las columnas especificadas. Puede ver la vista creada llamando a las tablas de exhibición en MySQL como se muestra a continuación:

----------Truncado----------------------
| sample_view |
| personal |
| Staff_list |
| tienda |
+----------------------------+

NOTA: Como se mencionó, las vistas y las tablas comparten el mismo espacio de nombres; Por lo tanto, se pueden ver como una tabla en el comando anterior. Sin embargo, no es una tabla que se pueda ver utilizando el comando Show Completo:

| sample_view | Vista |

Una vez que se crea la consulta, puede consultar la información almacenada en ella como si fuera una tabla MySQL normal. Por ejemplo:

Seleccione * del límite de muestra_view 5;
+-----------+--------+
| Rental_id | cantidad |
+-----------+--------+
| NULL | 1.99 |
| 1 | 2.99 |
| 2 | 2.99 |
| 3 | 3.99 |
| 4 | 4.99 |
+-----------+--------+
5 filas en el set (0.04 seg)

La salida dependerá de las columnas almacenadas en la vista.

Cómo actualizar una vista

MySQL también le permite modificar o actualizar la información en una vista sin dejarla usar la cláusula alter.

La sintaxis general para actualizar una vista es:

Alter View View_name como seleccionar cols de table_name;

Por ejemplo, podemos realizar una actualización simple de Sample_View agregando una columna con la suma de valores como se muestra en la consulta a continuación:

Mysql> alter ver sample_view como seleccionar Rental_id, cantidad, suma (cantidad * 10) del grupo de pago por alquiler_id;
Mysql> DESC sample_view;
+------------------+---------------+------+-----+---------+-------+
| Campo | Tipo | NULL | Clave | Predeterminado | Extra |
+------------------+---------------+------+-----+---------+-------+
| Rental_id | int | SÍ | | NULL | |
| cantidad | decimal (5,2) | No | | NULL | |
| Suma (cantidad * 10) | decimal (29,2) | SÍ | | NULL | |
+------------------+---------------+------+-----+---------+-------+

La consulta anterior actualiza los datos almacenados en la vista sin destruir la vista existente.

Cómo dejar una vista

Eliminar una vista existente en MySQL es tan simple como llamar a la cláusula de caída seguida del nombre de la vista.

Por ejemplo, para eliminar el sample_view creado en las secciones anteriores, podemos hacer:

Vista de caída si existe sample_view;

La consulta anterior destruye la vista especificada y todos los datos almacenados en ella.

Conclusión

En este tutorial, aprendió a crear y usar vistas de MySQL para crear copias de una tabla de base de datos.