sql >> Base de Datos >  >> RDS >> Mysql

Cómo crear una vista MySQL

Las vistas de SQL representan un subconjunto de datos en la base de datos, ofrecen una mayor seguridad y simplicidad para el análisis y la generación de informes de datos. Aquí se explica cómo crear una vista de MySQL para almacenar consultas que se ejecutan dinámicamente para generar resultados, en lugar de almacenar datos reales.

Cómo crear una vista MySQL

Estos son los pasos para crear una vista MySQL.

Las vistas SQL son básicamente consultas SQL almacenadas a las que se les ha asignado un nombre de "vista". Cuando accede a una vista SQL, su consulta se ejecuta dinámicamente para devolver el conjunto de resultados.

Las vistas SQL en realidad no contienen ningún dato sino solo la consulta almacenada y ocupan muy poco espacio.

Lectura adicional:Cómo obtener el total de usuarios por día en MySQL

¿Cuáles son los usos de la vista SQL

Estos son los usos clave de la vista SQL

  • Informes – Las vistas SQL representan solo un subconjunto de datos. Por lo tanto, se pueden usar para crear tablas de informes para el análisis de datos
  • Seguridad – Las vistas SQL se utilizan para ofrecer una mejor seguridad. Puede dar acceso de forma segura a los usuarios a las vistas en lugar de a las tablas subyacentes
  • Simplicidad – Puede crear una vista única a partir de varias tablas mediante combinaciones. Para que los usuarios puedan acceder fácilmente a los datos sin conocer el esquema de la base de datos subyacente.

Lectura adicional:Cómo obtener nuevos usuarios por día en MySQL

¿Cuáles son las ventajas de las vistas en SQL

Estas son algunas de las ventajas de las vistas en SQL:

  1. Una vista representa una tabla virtual y no una tabla real. Por lo tanto, no ocupan ningún espacio que no sea la consulta SQL almacenada
  2. Puede usar las vistas para obtener un subconjunto de datos de la tabla y limitar la exposición del usuario a los datos subyacentes
  3. Del mismo modo, puede crear una vista de MySQL con datos agregados (por ejemplo, suma, conteo, etc.)
  4. Puede crear vistas personalizadas que contengan datos de varias tablas, resúmenes, particiones o incluso datos calculados, sin modificar los datos subyacentes.

Lectura adicional:Cómo calcular los ingresos en MySQL

Cómo crear una vista MySQL

Es muy fácil crear una vista en MySQL. La sintaxis básica para crear una vista en MySQL es

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

Supongamos que tiene una tabla 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 |
+------------+------------+----------+

Digamos que desea crear una vista de MySQL (por ejemplo, order_view) que muestre solo order_date y cantidad. Aquí está la consulta SQL para crear una vista

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

Ahora puede consultar esta vista como lo haría con una tabla normal.

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

Lectura adicional:Cómo obtener datos de ventas de los últimos 3 meses en MySQL

También puede reemplazar la vista usando CREAR O REEMPLAZAR declaración. Esto reemplazará la consulta SQL para ver.

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

También puede crear una vista en MySQL con JOIN. Aquí hay un ejemplo

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

Cómo soltar la vista en MySQL

A continuación se explica cómo eliminar la vista en MySQL, si no la necesita. Aquí está la sintaxis

DROP VIEW view_name;

Aquí hay un ejemplo

DROP VIEW order_view;

¡Eso es todo! Ahora puede crear fácilmente una vista de MySQL y usarla para análisis de datos e informes.

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!