一、视图
1、介绍
- 在MySQL中,视图(View)是一种虚拟表,它基于SQL查询的结果集。同真实的表一样,视图包含一系列带有名称的列和行数据。它的主要用途包括简化复杂查询、增强数据安全性以及数据抽象。
- 视图并不存储数据,而是存储定义视图的查询。当用户对视图进行查询时,数据库系统会动态执行视图定义中的查询,并返回结果。
- 虽然视图不存储数据,但频繁访问复杂的视图可能会影响性能。通过视图,可以更精细地控制用户对数据的访问权限。
- 查询视图与查询普通表非常相似,只需使用 SELECT 语句。
2、规则和限制
- 视图名称在数据库中必须唯一,不能与其他表或视图同名。
- 视图定义中引用的表或视图必须存在,但创建完视图后,可以删除定义引用的表或视图,此时视图将变为无效。
- 视图本身不支持索引,因此当从视图中查询数据时,MySQL可能需要扫描整个视图来获取所需的数据,这可能会导致性能问题。
- 视图不支持主键、唯一性和外键约束等完整性约束,因此可能会导致数据不一致。
- 视图不能与临时表一起使用,因为临时表只在当前会话中存在,而视图是永久的。
二、创建视图
1、语句
CREATE VIEW view_name