定义:本质就是一张虚拟表。从一个或多个表中结合查询出来的结果集,做用和真实表同样。可使用SELECT 语句查询数据,也可使用INSERT,UPDATE,DELETE 来修改数据。mysql
优势:1) 简单化,数据所见即所得;2) 安全性,用户只能查询或修改他们所能见到获得的数据;3) 逻辑独立性,能够屏蔽真实表结构变化带来的影响sql
缺点:1) 性能相对较差,简单的查询也会变得稍显复杂;2) 修改不方便,特别是复杂的聚合视图基本没法修改安全
特别强调性能
视图建立示例code
-- 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语句来扩展功能。class