MySQL学习之视图

视图

    SQL 视图 ( Views )
        其本质是【根据SQL语句获取动态的数据集,并为其命名】,
        用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。

    视图的特征:
        1. 视图总是显示最新的数据

        2. 每当用户查询视图时,数据库引擎通过使用视图的 SQL 语句重建数据

    # 视图:是虚拟的,数据来源于物理表。
    # 虽然在单表的情况下,可以修改视图,但是我们不应该这样做,视图改了,源数据也会跟着改。
    # 而且涉及到多张表的情况下,是根本无法进行修改的。

创建视图

SQL CREATE VIEW 创建视图:
    CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition;
        说明: AS 关键字后面的 SQL 语句可以是任何合法的 SQL SELECT 语句
        例如: create view view_one as (select student_id, num from score);

修改视图

1. CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition

2. alter view view_one as (select student_id, course_id, num from score);

删除视图

drop view view_one;

说明

#1. 使用视图以后就无需每次都重写子查询的sql,
    但是这么做效率并不高,还不如我们写子查询的效率高

#2. 而且有一个致命的问题:视图是存放到数据库里的,如果我们程序中的sql过分依赖于数据库中存放的视图,
    那么意味着,一旦sql需要修改且涉及到视图的部分,则必须去数据库中进行修改,
    而通常在公司中数据库有专门的DBA负责,
    你要想完成修改,必须付出大量的沟通成本DBA可能才会帮你完成修改,极其地不方便
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值