欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL基础-视图

程序员文章站 2022-07-04 22:46:28
视图 定义 : 本质就是一张虚拟表 。从一个或多个表中结合查询出来的结果集, 作用和真实表一样 。可以使用SELECT 语句查询数据,也可以使用INSERT,UPDATE,DELETE 来修改数据。 优点 :1) 简单化 ,数据所见即所得;2) 安全性 ,用户只能查询或修改他们所能见到得到的数据;3 ......

视图

定义本质就是一张虚拟表。从一个或多个表中结合查询出来的结果集,作用和真实表一样。可以使用select 语句查询数据,也可以使用insert,update,delete 来修改数据。

优点:1) 简单化,数据所见即所得;2) 安全性,用户只能查询或修改他们所能见到得到的数据;3) 逻辑独立性,可以屏蔽真实表结构变化带来的影响

缺点:1) 性能相对较差,简单的查询也会变得稍显复杂;2) 修改不方便,特别是复杂的聚合视图基本无法修改

特别强调

  • 查看存储文件,可以发现,视图只有表结构文件,没有表数据文件
  • 视图通常是用于查询,尽量不要修改视图中的数据

视图创建示例

-- 1.创建视图语法
-- 语法:create view view_name as sql语句;
create view v_user as select u.username,d.depname from user as u inner join dep d on u.pid = d.id;

-- 2.使用视图
-- 查询 语法:select * from 视图名;
select * from v_user;

-- 3.删除视图
-- 删除语法:drop view 视图名;
drop view v_user;

思考:实际开发过程中,视图的使用频率高吗?

在实际开发过程中,一般不会使用视图。假设我们在项目中使用了大量的视图,后期我们想要扩展某个功能的时候,这个功能恰巧又需要对视图进行修改,那么首先需要在mysql中将视图修改,然后再去应用程序中修改对应的sql语句,这就涉及到跨部门沟通问题
因此,mysql中虽然有视图这个功能,但我们通常不会经常使用,几乎都是通过重新修改应用程序中的sql语句来扩展功能