什么是视图
视图就是基于查询的虚拟表,通俗的理解,视图就是一条SELECT语句执行后返回的结果集。
SELECT语句所查询的表称为视图的基表,而查询的结果集就称为虚拟表,视图本身并不存储具体的数据,视图的数据存在与视图的基表中,基本表数据发生了改变,视图的数据也会跟着改变。
为什么使用视图
我们使用视图就是为了方便复杂的查询语句。
基本思路就是将复杂的查询语句定义在视图的内部,然后对视图进行查询,从而简化复杂的查询语句。
就是将我们的查询语句包装起来,成为来了视图。
定义视图
CREATE VIEW 视图名 AS SELECT 列1,列2…FROM 表名(查询语句);
创建的时候要注意到,列名不能有一样的,不然视图创建就会失败。
例子:
一个普通的查询语句:
SELECT
s.id,
s.name,
s.sex,
s.weight,
s.height,
s.birthday,
g.sid
FROM
student s
LEFT JOIN grade g
ON s.gId = g.id;
创建视图:
CREATE VIEW sel_stu AS
SELECT
s.id,
s.name,
s.sex,
s.weight,
s.height,
s.birthday,
g.sid
FROM
student s
LEFT JOIN grade g
ON s.gId = g.id;
然后在视图栏里就出现了刚刚创建的视图。
查询使用视图
SELECT * FROM 视图名;
对这个表查询的时候,将它当做一个基表一样进行操作进行了。
SELECT * FROM sel_stu;
删除视图
DROP VIEW 视图名;
举例:
DROP VIEW sel_stu;
视图是动态获取数据库中的数据的,所以在视图创建好后,数据基表中的数据发生了变换,那么视图中对应的数据也就随着发生了变化
视图的意思就是MySQL代替我们管理了一条复杂的查询语句,方便我们对其进行操作。
当我们对视图表进行查询操作的时候,就把它当做一个平常使用的基表一样使用就可以了。