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

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

什么是视图?

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

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

视图分类:

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

语法:

创建视图:

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

删除视图:

drop view 视图名;

示例:

简单视图:

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

在这里插入图片描述
复杂视图:

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

在这里插入图片描述

END

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部