1、视图:是一个虚拟表,其内容由查询定义。
2、视图的特点:
- 视图是根据基表(视图对应的真实表)来创建,本身是虚拟的表
- 视图也有列,数据来自基表
- 通过视图可以修改基表的数据
- 基表的改变,也会影响到视图的数据
3、视图的增删改查:
- 新建视图
- 修改视图
- 查看视图
- 删除视图
(1)新建视图
CREATE VIEW 视图名 AS SELECT语句
eg,给student表新建一个视图stu_view 。
-- 1、新建视图
CREATE VIEW `stu_view`
AS
SELECT `id`,`name`,`email`,`class` FROM `student`;
-- 2、将视图当成表进行使用
SELECT * FROM `stu_view`;
SELECT `id`,`name` FROM `stu_view`;
(2)修改视图
ALTER VIEW 视图名 AS SELECT语句
eg,修改视图stu_view所包含的列。
ALTER VIEW `stu_view`
AS
SELECT `id`,`name` FROM `student`;
(3)查看视图
SHOW CREATE VIEW 视图名;
eg,查看视图stu_view的创建。
SHOW CREATE VIEW `stu_view`;
(4)删除视图
DROP VIEW 视图名1,视图2
eg,删除视图stu_view。
DROP VIEW `stu_view`;
4、视图的应用场景
- 安全方面:一些数据表有着重要的信息,有些字段是保密的,不能让用户看到,此时可以新建一个视图。在这个视图中保留能让用户看到的字段,让用户查看视图中的字段信息
- 性能方面:分表和使用外键、使用JOIN查询,效率相对低,可以通过建立视图提高效率
- 灵活性方面:如果有一张旧表,设计不合理,即将被废弃,但很多应用都用到它,不容易修改。此时可以建立一个视图,应用中的数据,改由视图进行提供,不再依赖旧表