zoukankan      html  css  js  c++  java
  • SQL中的视图

    概述

    1、视图(view)在数据库管理系统中也是一个对象,也是以文件形式存在的。
    2、视图也对应了一个查询结果,只是从不同的角度查看数据。

    创建、删除、修改视图

    创建视图
    • 语法结构:
      create view 视图名称 as 查询语句;
    • 例子:从emp表查询empno、ename、sal,结果当作视图展示。
    CREATE VIEW `myview` AS SELECT
    EMPNO,
    ENAME,
    SAL 
    FROM
    	emp;
    

    通过视图对象查看数据:

    SELECT
    	* 
    FROM
    	`myview`;
    

    在这里插入图片描述

    修改视图
    • 语法结构:
      alter view 视图名称 as 查询语句;
    • 示例:将myview视图修改为deptno、ename、job、sal
    ALTER VIEW `myview` AS SELECT
    EMPNO,
    ENAME,
    JOB,
    SAL 
    FROM
    	emp;
    

    查看视图:

    SELECT
    	* 
    FROM
    	`myview`;
    

    在这里插入图片描述

    删除视图
    • 语法结构:
      drop view if exists 视图名称;
    • 示例:删除myview视图
    drop view if exists `myview`;
    

    作用

    • 面向视图查询,可以提高查询效率;也可以通过视图操作原表数据。
    • 例子
      1、单独执行:
      select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno;
      2、将上面执行结果当作视图对象创建
      create view myview as select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno;
      3、面向视图查询:没有进行表连接,提高检索效率。
      select * from myview;
    • 隐藏表的实现细节
      1、
    CREATE VIEW `myview` AS SELECT
    EMPNO a,
    ENAME b,
    SAL c
    FROM
    	emp;
    
    SELECT * FROM myview;
    

    在这里插入图片描述
    2、面向视图查询,只知道myview视图中有a、b、c三个字段,不知道该视图背后真实表的结构是什么。

  • 相关阅读:
    Linux文件系统_每一个的意义
    Linux启动的流程
    Linux
    awk编程
    Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
    spring boot get和post请求,以及requestbody为json串时候的处理
    Spring Boot快速入门
    Spring Boot 实用MyBatis做数据库操作
    极简操作无需root隐藏S8导航栏和状态栏
    springboot(三):Spring boot中Redis的使用
  • 原文地址:https://www.cnblogs.com/yu011/p/13357135.html
Copyright © 2011-2022 走看看