最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 详细讲解MYSQL视图的作用及优缺点

    一、概念

    1.视图是MySQL在5.0.1版本中加入的功能。它可以理解为一个虚表。

    2.之所以被称为虚表,是因为它只是存储了一个结构,并不存储真实的数据。行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。

    3.视图并不是真的优化

    二、创建一个视图

    –创建视图的语法:create view 视图名称 as select语句;

    –创建一个视图:create view user_view as select id,name,age,sex from user;

    三、查看视图

    查看视图的方式和表一样可以通过select来查看,desc查看视图结构

    –查看视图结构:desc user_view; show create view user_view;

    –查看视图内容:select * from user_view;

    四、视图的优点

    1.第一个显著优点就是它简化了操作。此时我们完全不用关心视图是怎么处理数据的,我们只需要知道如何使用这个结果集即可,视图相当于一个中间层。

    2.第二个显著优点就是它更加安全。比如我们可以让用户有权去访问某个视图,但是不能访问原表,这样就可以起到保护原表中某些数据的作用。

    3.我们之后会接触到管理权限,权限是无法细致到某一个列的,通过视图,则很容易实现。

    4.第三个显著优点就是降低耦合。假如我们以后要修改原表的结构,那么我们可以通过修改视图的定义即可,而不用修改应用程序,对访问者是不会造成影响的,一般来说,这样代价会更小。

    五、视图的缺点

    1.性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的。

    2.表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图。

    六、视图的UID

    表的数据是可以修改与更新的,但是在视图就不一定了。

    –修改视图字段的值会直接修改到源数据表:update `user_view` set name=’小哈’ where id=1; select * from `user`;

    –删除视图:drop view user_view;

    以下是视图不可更新的情况:

    1.包含聚合函数、distinct、groupby、having、union、unionall。

    2.常量视图。

    3.select包含子查询。

    4.包含连接操作。

    5.from一个不能更新的视图。

    6.where子句的子查询引用了from子句中的表。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 详细讲解MYSQL视图的作用及优缺点
    • 10会员总数(位)
    • 14641资源总数(个)
    • 1073本周发布(个)
    • 34 今日发布(个)
    • 105稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情