Vistas MySQL: cómo crear vistas a partir de tablas con ejemplos

¿Qué son las vistas en MySQL?

PUNTOS DE VISTA Son tablas virtuales que no almacenan ningún dato propio, pero muestran datos almacenados en otras tablas. En otras palabras, las VISTAS no son más que consultas SQL. Una vista puede contener todas o algunas filas de una tabla. Una vista MySQL puede mostrar datos de una tabla o de muchas tablas.

Sintaxis de vistas MySQL

Veamos ahora la sintaxis básica utilizada para crear una vista en MySQL.

CREATE VIEW `view_name` AS SELECT statement;

¿Dónde?

  • “CREAR VISTA `nombre_vista`” le dice al servidor MySQL que cree un objeto de vista en la base de datos llamado `view_name`
  • “Declaración AS SELECT” son las declaraciones SQL que se empaquetarán en las vistas MySQL. Puede ser una declaración SELECT que puede contener datos de una tabla o de varias tablas.

Cómo crear vistas en MySQL

Following Es un proceso paso a paso para crear una vista en MySQL:

Paso 1) Crea nuestra primera vista usando “myflixdb”

Ahora creemos nuestra primera vista usando "myflixdb". Crearemos una vista simple que restringe las columnas que se ven en la tabla de miembros.

Supongamos que los requisitos de autorización establecen que el departamento de cuentas solo puede ver el número, el nombre y el sexo del miembro en la tabla de miembros. Para lograr esto, puede crear una VISTA –

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;

Paso 2) Expandiendo el nodo de vistas

Ejecutar el script anterior en MySQL Workbench contra myflixdb y expandir el nodo de vistas en el explorador de bases de datos nos da lo siguientewing resultados.

Crear vistas en MySQL

Tenga en cuenta que el objeto cuentas_v_miembros ahora es visible en los objetos de vistas de la base de datos.

Paso 3) Ejecutar una declaración SELECT

Ahora ejecutemos un Instrucción SELECT que selecciona todos los campos de la vista como se muestra en el siguiente ejemplo de creación de vista de MySQL.

SELECT * FROM `accounts_v_members`;

Paso 4) Ejecutar un script

La ejecución del script anterior en MySQL Workbench contra myflixdb nos da el siguiente resultadowing resultados que se muestran a continuación.

membership_number full_names gender
1 Janet Jones Female
2 Janet Smith Jones Female
3 Robert Phil Male
4 Gloria Williams Female
5 Leonard Hofstadter Male
6 Sheldon Cooper Male
7 Rajesh Koothrappali Male
8 Leslie Winkle Male
9 Howard Wolowitz Male

Solo se han devuelto las columnas autorizadas para el departamento de cuentas. Otros details encontrados en la tabla de miembros han sido ocultos.

Si queremos ver las declaraciones SQL que componen una vista particular, podemos usar el script que se muestra a continuación para hacerlo.

SHOW CREATE VIEW `accounts_v_members`;

La ejecución del script anterior le proporciona el nombre de la vista y las declaraciones SQL SELECT utilizadas para crear la vista.

Uniones y vistas en MySQL

Veamos ahora una bastante complex ejemplo que involucra múltiples tablas y usos une.

Empaquetaremos el JOIN creado que obtiene información de tres (3) tablas, a saber, miembros, películas y alquiler de películas. A continuación se muestra el script que nos ayuda a lograrlo.

CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date` FROM `movierentals` AS mr INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number` INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;

La ejecución de los scripts anteriores crea la vista denominada general_v_movie_rentals en nuestro myflixdb

Ahora seleccionemos todos los campos de una tabla llamada general_v_movie_rentals.

SELECT * FROM `general_v_movie_rentals`;

Ejecutando el script anterior en Banco de trabajo MySQL contra el myflixdb nos da el siguientewing resultados que se muestran a continuación.

membership_number full_names title transaction_date return_date
1 Janet Jones Pirates of the Caribean 4 20-06-2012 28-06-2012
1 Janet Jones Forgetting Sarah Marshal 22-06-2012 25-06-2012
3 Robert Phil Forgetting Sarah Marshal 22-06-2012 25-06-2012
2 Janet Smith Jones Forgetting Sarah Marshal 21-06-2012 24-06-2012
3 Robert Phil X-Men 23-06-2012 28-06-2012

Tenga en cuenta que no tuvimos que escribir el com.plex ÚNASE a la consulta para obtener información sobre miembros, películas y alquiler de películas.tails. Simplemente usamos la vista en una instrucción SELECT normal como cualquier otra tabla normal. La vista se puede llamar desde cualquier lugar del sistema de aplicación que se ejecuta sobre myflixdb.

Eliminar vistas en MySQL

El comando DROP se puede utilizar para eliminar una vista del base de datos eso ya no es necesario. La sintaxis básica para eliminar una vista es la siguiente.

DROP VIEW ` general_v_movie_rentals `;

¿Por qué utilizar vistas?

Es posible que desee utilizar vistas principalmente para seguirwing 3 razones

  • En última instancia, utilizará su SQL conocimiento, para crear aplicaciones, que utilizarán una base de datos para los requisitos de datos. Se recomienda utilizar VISTAS de la estructura de tabla original en su aplicación en lugar de utilizar las tablas mismas. Esto garantiza que cuando refactorice su base de datos, su código heredado verá el esquema original a través de la vista sin interrumpir la aplicación.
  • Las VISTAS aumentan la reutilización. No tendrás que crear com.plex consultas que involucran uniones repetidamente. todas las comunicacionesplexity se convierte en una sola línea de consulta, utilice VISTAS. Este código condensado será más fácil de integrar en su aplicación. Esto eliminará las posibilidades de errores tipográficos y su código será más legible.
  • VIEWS ayuda en la seguridad de los datos. Puede utilizar vistas para mostrar solo información autorizada a los usuarios y ocultar datos confidenciales como números de tarjetas de crédito.

Resumen

  • Las vistas son tablas virtuales; no contienen los datos que se devuelven. Los datos se almacenan en las tablas a las que se hace referencia en la declaración SELECT.
  • Las vistas mejoran la seguridad de la base de datos mediante showing sólo los datos destinados a usuarios autorizados. Ocultan datos confidenciales.
  • Las vistas te hacen la vida más fácil ya que no tienes que escribir com.plex consultas una y otra vez.
  • Es posible utilizar INSERTAR, ACTUALIZAR y ELIMINAR en una VISTA. Estas operaciones cambiarán las tablas subyacentes de la VISTA. La única consideración es que VIEW debe contener todas las columnas NOT NULL de las tablas a las que hace referencia. Idealmente, no debería utilizar VISTAS para actualizar.