zoukankan      html  css  js  c++  java
  • mysql数据库(9)--视图

    1、什么是视图?

    视图是一种虚拟存在的表格,行和列的数据在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。(可以实现sql语句的复用)

     1 # 查询姓张的学生名和专业名
     2 
     3 # 创建视图
     4 create view v1
     5 as
     6 select stuname, majorname
     7 from stuinfo as a
     8 inner join major as m 
     9 on s. majorid = m.id
    10 
    11 # 视图的使用
    12 select * from v1 where stuname like '张%'

    2、应用场景

    • 多个地方用到同样的查询结果
    • 该查询结果使用的sql语句比较复杂

    3、视图的创建

    1 create view 视图名
    2 as
    3 查询语句

    4、视图的修改

    方式一

    1 create or replace view 视图名称
    2 as
    3 查询语句

    方式二

    1 alter view 视图名
    2 as
    3 查询语句

    5、视图的删除

    1 drop view 视图名,视图名,...

    6、查看视图

    1 desc 视图名   # 方式一
    2 
    3 show create view 视图名    # 方式二

    7、视图的更新

    视图进行增删改操作之后,原始表中的数据也会相应的发生改变,但是具备以下特点的视图,不能进行更新

    (1)包含分组函数 

    (2)常量视图

    (3)包含子查询

    (4)包含join语句

    (5)from一个不能更新的视图

    (6)where子句的子查询引用了from子句中的表

    1 select last_name, email, salary
    2 from employee
    3 where employee_id in(
    4     select manager_id
    5     from employee
    6     where manager_id is not null
    7 )

    8、视图的优点

    (1)重用sql语句

    (2)简化复杂的sql操作,不需要知道查询细节

    (3)保护数据,提高安全性

  • 相关阅读:
    python之新手一看就懂的小说爬虫
    Mysql与Oracle区别
    Java面试2018常考题目汇总(一)(转)
    单例式的优缺点和使用场景
    设计模式之单例模式通俗理解
    IntelliJ Idea 最常用快捷键
    sql语句基础和提升
    Tomcat 安装配置
    Git基本常用命令
    Java练手题
  • 原文地址:https://www.cnblogs.com/yif930916/p/15036751.html
Copyright © 2011-2022 走看看