• 数据库之视图


    视图

    1.什么是视图?

    -- 视图就是通过查询得到的一张虚拟表,然后将其保存下来,方便下次可以直接使用.视图的本质也是一张表.
    

    2.为什么要有视图?

    -- 如果频繁的操作一张虚拟表(拼表组成的),那么就可以将这个虚拟表建成一个视图,方便后续查询.
    

    3.视图的使用

    -- 固定语法
    create view 表名(最好让别人知道这个是视图不是表,可以设计为x2x_view的格式)
    as 虚拟表的查询sql语句;
    
    -- 具体案例
    -- 准备好俩张表,老师和课程的表
    create view teacher2course_view as 
    	select * from teacher
    	inner join course
    	on teacher.tid = course.teacher_id;
    show tables;
    select * from teacher2course_view;
    
    -- 修改视图
    alter view teacher2course_view as 
    select * from course 
    where cid > 3;
    show tables;
    select * from teacher2course_view;
    
    
    -- 删除视图
    drop view teacher2course_view;
    show tables;
    

    注意:

    1. 创建视图在硬盘上只会有表结构(.frm),没有表数据(.idb). 数据还是来自于之前的表
    2. 视图一般只用来查询,里面的数据不要修改,因为可能会影响到真正的表中的数据. 如果你要修改还不如重新创建一个视图.
    3. 视图的修改一般只针对创建视图时 as 后面定义的虚拟表的sql查询语句

    说到底,视图在以后用到的频率高不高呢??

    -- 不高
    -- 因为当你创建了很多视图之后,会造成表的不好维护.且视图有明显的效率问题.
    -- 视图是存放在数据库中的,我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用
    
  • 相关阅读:
    Velocity模版进行shiro验证
    freemarker中使用shiro标签
    freemarker中使用shiro标签
    freemarker中使用shiro标签
    Maven引入自定义jar包
    Maven引入自定义jar包
    Maven引入自定义jar包
    Spring MVC多个视图解析器及优先级
    (尚054)Vue_源码分析_模板解析_事件指令
    (尚052)+(尚053) Vue_源码分析_模板解析_大括号表达式
  • 原文地址:https://www.cnblogs.com/jkeykey/p/14457455.html
Copyright © 2020-2023  润新知