Material del curso de SQL de la UNACAR 2020
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Vistas
  2. Una vista es una tabla virtual generada a partir de la ejecución de varias consultas sobre una o más tablas. Una vista tiene la misma estructura de filas y columnas que cualquier otra tabla MySQL, se almacenan del mismo modo y no es posible que existan dos con el mismo nombre.
  3. *Sintaxis*
  4. ```
  5. CREATE [OR REPLACE] VIEW nombre_vista [lista_columnas]
  6. AS consulta
  7. ```
  8. Si observas la sintaxis verás varios apartados:
  9. - nombre_vista: Representa el nombre de la tabla virtual que tendrá la vista.
  10. - lista_columnas: Es el listado de columnas que creará la vista.
  11. - consulta: Se trata de una consulta SELECT que nos devolvuelven los datos que forman de la vista.
  12. También podemos ver el modificador opcional OR REPLACE. Cuando se crea una vista con OR REPLACE, se creará la vista si no existe una con el mismo nombre y, si existe, se reemplazará por ésta.
  13. ## Ventajas de usar una vista
  14. La mayor ventaja de utilizar vistas se obtiene en forma de rendimiento, ya que no estaremos generando constantemente una vista si ésta ya existe. Cuanto más complejas sean las consultas que se deben ejecutar para obtener la vista, mayor será la ganancia de rendimiento. Por otro lado, también puede suponer una ventaja en términos de seguridad si no queremos que los usuarios puedan obtener datos de las tablas originales sobre las que se crea la vista.
  15. También podemos limitar los permisos de acceso a una vista a ciertos usuarios. Una vista, en general, puede ayudarte a construir una interfaz simplificada y abstracta a una base de datos compleja.
  16. ## Implementación
  17. *Sintaxis*
  18. ```
  19. CREATE VIEW vistaProductosBarato AS SELECT id, nombre, precio FROM productos WHERE precio < 10.00;
  20. ```
  21. ## Como se utiliza
  22. Cuando crees una vista, podrás ejecutar consultas sobre ella como si de una tabla más se tratase. Por ejemplo, vamos a seleccionar todos los datos de la vista vistaProductosBaratos de nuestro ejemplo:
  23. *Sintaxis*
  24. ```
  25. SELECT * FROM vistaProductosBarato;
  26. ```
  27. ## Borrar una vista
  28. *Sintaxis*
  29. ```
  30. DROP VIEW vistaProductosBarato;
  31. ```