SQL中的视图

Posted yu011

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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三个字段,不知道该视图背后真实表的结构是什么。













以上是关于SQL中的视图的主要内容,如果未能解决你的问题,请参考以下文章

viewpager 中的片段,未找到视图错误

如何将列表视图中的数据从一个片段发送到另一个片段

片段中的 notifyDataSetChanged() 不刷新列表视图

无法在对话框片段中的文本视图上设置文本

片段中的按钮自定义视图

从图库中获取图像以在片段中的图像视图中设置? [复制]