外观
什么是视图
在 MySQL
中,视图是一种虚拟表,具有重要的作用和特点:
定义:
视图是基于一个或多个表(或其他视图)的查询结果而创建的虚拟表,它本身并不实际存储数据,而是存储了一个查询定义。数据库中只保存视图的定义,不保存视图对应的数据,数据仍然存储在基表中。当查询视图时,MySQL
会根据视图的定义去基表中获取数据并动态生成结果集。
作用
- 简化复杂查询:可以将复杂的
SQL
查询(如多表联合查询、包含复杂条件过滤和聚合操作等)封装在视图中。用户只需查询视图,而无需关心背后复杂的查询逻辑,提高了查询的可读性和可维护性。 - 增强数据安全性:通过视图可以限制用户对数据的访问权限,只允许用户访问视图中定义的列和行,从而隐藏基表中的敏感数据。不同的用户可以根据其权限被赋予不同的视图,确保数据只能被授权的人员访问和操作。
- 提高代码重用性:视图定义的查询可以被多次重用,避免了每次需要相同数据时都重新编写复杂的查询语句,提高了开发效率。
- 提高数据抽象层次:为用户提供了一个数据抽象层,将数据库的复杂结构隐藏起来,对外提供简化的接口。用户可以通过视图来理解和操作数据,而不必了解底层基表的具体结构和关系,使数据库的使用更加简单和直观。
创建视图
CREATE VIEW xxx(视图名字自定义) AS
SELECT xxx
FROM xxx
WHERE xxx;
使用视图
SELECT * FROM xxx(视图名字);
修改视图
ALTER VIEW xxx(视图名字) AS
SELECT xxx
FROM xxx
WHERE xxx;
删除视图
DROP VIEW xxx(视图名字);