数据库中表table与视图view的区别
首先了解一下什么是视图。
在我们查询的过程中,select column1,column2…… from table,此时会出来一个结果,这个我们所看到的结果是一个表的样子,那么这个虚表就是一个视图view(为什么叫“虚表”,因为数据库中确实不存在这个表,但是我们又能在显示器上看到一张表。强行解释)。也就是说,视图是一个查询逻辑所表现出来的东西,你可以在某一方面将它等同于查询逻辑。
然而,我们可以create view,创建了视图之后,还可以将这个view作为表格供我们查询,即可以select * from view_name,那么是不是view逆袭变成了表呢,非也非也。这是因为我们在调用的一瞬间,触发了生成view的逻辑,从而暂时有了一张“虚表”供我们查询。
是不是要疯了,这到底什么跟什么啊,那为什么有视图这种东西的存在???看下去:
1)视图它是虚拟的表,不占用存储空间,所以如果是我们在进行复杂的查询过程,不想进行表套表的话,可以在中间生成视图,然后在下一步直接引用视图(当然,你也可以生成中间表。但是假如你的存储空间只有10w,生成的中间表需要占用8w的存储空间,生成表后你剩下2w想干啥,此时通过生成view就可以避免了)。这是视图的第一个好处。
2)视图view是动态的。创建的视图来源于其他的实实在在的表,当随着时间的更新,表发生变化时,我们的视图所反应的内容其实也是变化的。而我们所生成的中间表固定了就是固定了,不会随着基表的变化而改变。因此,如果我们做任务所需要的表格是不断更新的,此时我们在中间创建视图是正确的选择,因为视图可以做到与时俱进。
数据库中表table与视图view的区别相关推荐
- mysql数据库表中的类型_MySQL数据库中表类型MyISAM与InnoDB的区别
MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ...
- oracle中表和视图的区别,Oracle数据库中表与视图的应用
Oracle数据库是被很多人所拥护的一种关系型数据库管理系统,能都处理大批量的数据,在网络方面应用的也比较多.Oracle数据对象中最基本的是表和视图,表由记录(行row)和字段(列column)构成 ...
- 数据库中表和视图的区别和联系
刚开始接触数据库,很多概念性的东西很迷糊. 刚刚才弄明白数据库中表和视图的关系. 数据库存储数据是通过表来实现的,其有物理存储空间,也是你数据真正存储的地方.可以通过对表的操作来实现你对数据的操作. ...
- 数据库-视图(View)详解
一.简介 视图(View)可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的me ...
- MySQL数据库:视图View
一.视图的定义: 视图(View)是从一个或者多个表(或视图)导出的表,其内容由查询定义.视图是一个虚拟表,数据库中只存储视图的定义,不存储视图对应的数据,在对视图的数据进行操作时,系统根据视图的定义 ...
- Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询
Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开 ...
- 【数据库】MySQL创建视图(CREATE VIEW)
数据库视图是什么? 创建视图是指在已经存在的 MySQL 数据库表上建立视图.视图可以建立在一张表中,也可以建立在多张表中. 视图的好处? 视图使用的时候跟表一样.主要作用是不让所有的人都能看到整张表 ...
- mysqldump导出数据库视图_mysql中如何用mysqldump批量如何导出视图view啊?
你的位置: 问答吧 -> MySQL -> 问题详情 mysql中如何用mysqldump批量如何导出视图view啊? mysql中如何用mysqldump批量如何导出视图view啊? 我 ...
- 数据库的视图(View)
->视图是基于 SQL 语句结果集的可视化的表,是一张虚拟表 ->视图中的行和列数据来自一到多张物理表,也可以来源自其他视图 ->数据库中只存放视图对应的sql语句,并不存放视图中的 ...
最新文章
- HTML怎么编写可关闭广告,JS实现关闭小广告特效
- android 源码下载编译
- 【转】Xcode7.1环境下上架iOS App到AppStore 流程 -- 不错!!
- business man
- spring boot学习(2) SpringBoot 项目属性配置
- 用ajax向处理页面传送路径问题解决方法
- DLL初步和钩子入门
- Mysql插入中文时错误:ERROR 1366 (HY000): Incorrect string value: '\xE6\x9D\x8E\xE5\x8B\x87' for column
- 开源电脑屏幕录制软件Captura源码下载及编译(Win10,VS2022)
- 数十位院士/大咖亮相,近千人到场交流,物联网人年终必聚的产业盛会来了!...
- luogu_1378 油滴扩展
- python调用有道翻译_Python调用有道翻译
- 回归基础:通过亮度恒定性和运动平滑度对光流进行无监督学习
- 哪个牌子的蓝牙耳机音质好?公认音质最好的真无线耳机推荐
- 数据分析 | R语言绘制中国地图
- Kurl——轻量化http-authentication在线暴破工具
- 网易相册列表分析 (转)
- 浅析肖特基二极管损坏的具体原因
- [2017校招]大可打卡1
- 中国制造2025背后的大数据作用
热门文章
- 智能编码助手Copilot
- 以下哪款工具不能编译c语言,哪款C语言编译器(IDE)适合初学者?
- 东北林业大学计算机第三轮学科评估,第三轮学科评估结果 2020第五轮学科评估结果...
- Android宫格动态列,在Android app中实现九(n)宫格图片连续滑动效果
- ZigBee的电子标签系统设计
- 计算机网络课程堂教学设计,网络课程教学设计
- AVG2013nbsp;杀毒软件激活nbsp;…
- 【新网数码】急聘研发总监/架构师
- MarkDown Latex数学公式
- 阿里巴巴「防疫精灵」的敏捷开发实战