mysql视图使用场景和语法介绍

为什么要使用视图,视图是对sql语句的封装,可以提高sql语句的安全性,减少重复sql语句的使用,提高开发效率.

使用场景:
    比如说有一张表叫做会员表,会员表中有个字段叫做bus_id即公司表的id,此时我们想根据这个bus_id查询出这个公司的上级部门和上级部门的直属部门,
    上级部门的id在公司表中office_id字段中存储,此时我们就可以使用到视图

为什么不直接在会员表中添加字段的冗余:
    1.因为如果会员离职后,需要修改冗余字段,增加开发工作
    2.如果公司改变了上级直属部门,即需要修改公司表中的office_id,又需要对会员表中的冗余字段进行修改
    3.公司修改上级直属部门以后也需要对冗余字段进行修改
    
使用视图的目的,无非就是简化开发,减少重复的sql语句,提高开发效率

 
/*创建视图*/
CREATE VIEW view_member
AS
select mb.id,
mb.name,
(select name from sys_office where id= office.parent_id) AS 'areaName'
from union_member mb LEFT JOIN union_uexambus bus on mb.bus_id=bus.id
LEFT JOIN union_base base on bus.base_id=base.id
LEFT JOIN sys_office office on base.office_id=office.id

/*查询视图*/
select * from view_member
 
/*修改视图*/
CREATE OR REPLACE VIEW view_member
AS
select
mb.name,
(select name from sys_office where id= office.parent_id) AS 'areaName'
from union_member mb LEFT JOIN union_uexambus bus on mb.bus_id=bus.id
LEFT JOIN union_base base on bus.base_id=base.id
LEFT JOIN sys_office office on base.office_id=office.id

/*查询视图*/
select * from view_member

/*删除视图*/
DROP VIEW view_member;

猜你喜欢

转载自blog.csdn.net/u013008898/article/details/87070541
今日推荐