视图是一张虚拟的表,对视图中数据的增、删、改、查和数据表一样。简单来说,视图就是对多张表进行SELECT查询的结果集。
关于视图和数据表的关系,有以下几个要点:
- 视图是一种虚拟的表,本身并不独自占用物理空间,它是由创建它的数据表中的数据而形成的一个抽象的数据集合,是数据表中数据的子集。
- 视图和创建它的数据表共享相同字段的值,也就是说,数据表中字段的值若发生变化,视图中对应的值也会发生改变,反之亦然。
- 视图的操作和数据表的操作方式类似,也可以对视图中的记录进行增、删、改、查。用的最多的是查询操作。
- 对视图中记录的增、删、改,会影响对应的数据表中的记录。但删除整个视图,不会对数据表产生影响。
多表关联查询的时候,可以将多表关联查询的结果作为一个视图,以后只需从视图中进行查询即可,而不用每次都进行多表查询。
1. 创建视图
基本语法:
CREATE [OR REPLACE] VIEW view_name AS select_statement
如果写了OR REPLACE,当视图view_name已经存在时,就会替换已有的视图。
create view v_user as select id,username from user;
-- 创建视图v_user
2. 查看视图
查看所有的视图:
SHOW TABLES;
-- 查看所有的数据表和视图
SHOW TABLES LIKE 'v_%';
-- 模糊查询
查看视图的详细信息:
SHOW CREATE VIEW v_user
3. 修改视图
基本语法:
ALTER [OR REPLACE] VIEW 视图名称 AS select_statement
4. 删除视图
DROP VIEW v_user