mysql--视图
目录
1、什么是视图??
2、基本使用
(1)创建视图
(2)删除视图
(3)什么时候用视图?
(4)视图与原表的关系
(5)视图特点、规则、限制
1、什么是视图??
就是把查询到的东西,插入到一个新的表
因此,视图其实就是表
2、基本使用
(1)创建视图
create view 视图名 as select 语句;
(2)删除视图
drop view 视图名;
(3)什么时候用视图?
高频查看数据
(4)视图与原表的关系
修改视图的数据,会影响原来的表
修改基表,也会影响视图的数据
即二者是相关联系的
(5)视图特点、规则、限制
类别 | 项目 | 描述 |
---|---|---|
特点 | 虚拟表 | 视图是基于一个或多个表的虚拟表,并不实际存储数据,而是存储查询。 |
简化复杂查询 | 视图可以简化复杂的 SQL 查询,用户只需查询视图即可获取所需数据,而无需重复编写复杂的查询语句。 | |
数据安全 | 通过视图,可以限制用户访问特定的表列或行,从而提高数据安全性。 | |
逻辑数据独立 | 用户可以通过视图访问数据,而不需要知道底层表的结构,从而实现逻辑上的数据独立性。 | |
规则 | 只读视图 | 默认情况下,视图是只读的,但在某些条件下,可以使视图可更新。 |
视图命名 | 视图名称必须唯一,不能与数据库中现有的表、列或其他视图同名。 | |
基于现有表的视图 | 视图必须基于一个或多个现有表的 SELECT 查询。 | |
限制 | 可更新性限制 | 视图并非总是可更新,尤其是当它们包含聚合函数、DISTINCT、GROUP BY、JOIN 等时。 |
性能影响 | 视图在使用时会重新计算,复杂的视图可能导致性能下降。 | |
限制条件 | 不能在视图中使用某些 SQL 操作,如某些DDL操作(如CREATE、ALTER、DROP等),不能在视图中直接定义。 | |
依赖性 | 如果基础表的结构发生变化(如列名更改或表被删除),可能导致视图失效或引发错误。 |