zoukankan      html  css  js  c++  java
  • 视图

    • 含义:虚拟的表,和普通表一样使用。是通过普通表动态生成的数据。只保存sql逻辑,不保存查询结果。
    • 应用场景:
    1. 多个地方用到同样的查询结果
    2. 该查询结果使用的sql语句较复杂

    一、视图的创建

    语法:

    create view 视图名
    as
    查询语句
    

    例1:查询姓名中包含a字符的员工名、部门名和工种信息

    1.创建
    create view myv1
    as
    select last_name,department_name,job_title
    from employees e
    join departments d on e.department_id = d.department_id
    join jobs j on j.job_id = e.job_id;
    
    2.使用
    select * from myv2 where last_name like '%a%;'
    

    二、视图的好处

    1. 重用sql语句
    2. 简化复杂的sql操作,不必知道它的查询细节
    3. 保护数据,提高安全性

    三、视图的修改

    方式一:

    create or replace view 视图名
    as
    查询语句
    

    方式二:

    alter view 视图名
    as 
    查询语句
    

    四、视图的删除

    语法:
    drop view 视图名,视图名,...;

    五、视图的查看

    1. desc 视图名;
    2. show create view 视图名;

    六、视图的更新

    视图的更新与表的更新相同,但对其进行的修改相当于在原表上进行修改
    具备以下特点的视图不允许更新:

    1. 包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
    2. 常量视图
    3. select中包含子查询
    4. join:可以修改但不能插入
    5. from一个不能更新的视图
    6. where子句的子查询引用了from子句中的表

    视图和表的比较

    1. 视图不实际占用物理空间(只保存了sql逻辑),表占用实际物理空间
    2. 视图一般不修改
  • 相关阅读:
    Android 使用 DownloadManager 管理系统下载任务的方法
    移动互联网时代:你的厕所文学是什么?
    zoj 3777 Problem Arrangement(壮压+背包)
    25个增强iOS应用程序性能的提示和技巧(0基础篇)
    Oracle 同义词
    Oracle loop、while、for循环
    Oracle 序列
    Oracle 视图
    Oracle 集合操作
    Oracle 伪列
  • 原文地址:https://www.cnblogs.com/ylcc-zyq/p/13139366.html
Copyright © 2011-2022 走看看