一文带你学会数据库的“视图”

学习过SQL相关知识小伙伴肯定都知道存储过程、触发器、视图等相关知识,不知道的听也肯定听过,有的小伙伴可能会说,现在开发过程中都不会去使用这些相关东西了,但是渣渣东在这说一句“有些东西你可以不用,但是不能不会”;本文主要就是讲解视图是如何创建的以及如何使用,有需要的可以学习学习哦!
一文带你学会数据库的“视图”_第1张图片

什么是视图?

       视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

       从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样。视图可以查询,但不可以新增、删除、修改。
       视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。

视图分类:

  • SELECT语句是基于单表建立的,且不包含任何函数运算、表达式或分组函数,叫做简单视图,此时视图是基表的子集;
  • SELECT语句同样是基于单表,但包含了单行函数、表达式、分组函数或GROUP BY子句,叫做复杂视图;
  • SELECT语句是基于多个表的,叫做连接视图。

语法:

创建视图:

create view 视图名 as
	sql(查询sql)
;

删除视图:

drop view 视图名;

示例:

简单视图:

create view user_view as
	select name,phone,address from user;
-- 测试
select * from user_view;


复杂视图:

create view city_view as
	select p.province,c.city,a.area from provinces p
	join cities c on c.provinceid = p.provinceid
	join areas a on a.cityid = c.cityid;
-- 测试
select * from city_view;

一文带你学会数据库的“视图”_第2张图片

END

文章到这里就结束了,本人还是觉得有些东西我们虽然暂时用不到,但是我们还是要掌握这些相关知识,说不定哪天就遇到了呢!
一文带你学会数据库的“视图”_第3张图片
最后,感慨一下,互联网这个行业越来越严格了,对于身为程序猿的我们来说,应该时刻保持危机感,时刻保持学习,才能不被行业抛弃;学历不行的小伙伴感觉利用闲暇时间提升自己的学历,虽然能力重要,但是我们得拥有敲门砖才行。加油,致自己,致大家!

你可能感兴趣的:(MYSQL系列)