数据库视图的概念和相关操作合集
目录
- 视图的概念
- 创建视图
- 删除视图
- 查看视图的格式
- 视图的修改
- 视图的更新
- 视图和表的对比
- 综合大实验
视图的概念
视图:
MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的
数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,
只保存了sql逻辑,不保存查询结果。
视图的应用场景:
- 多个地方用到同样的查询结果。
- 该查询结果使用的sql语句较复杂。
视图的优点:
- 重用sql语句。
- 简化复杂的sql操作,不必知道它的查询细节。
- 保护数据,提高安全性。
创建视图
语法格式:
create view 视图名(列名1,列名2,......)
as
查询语句;
删除视图
语法格式:
drop view 视图名,视图名,........;
查看视图的格式
语法格式:
DESC 视图名;
或者
show create view 视图名;
show create view 视图名;
在命令行下显示的更全
视图的修改
方式一、
create or replace view 视图名
as
查询语句;方式二、
alter view 视图名
as
查询列表;
视图的更新
由于视图是不实际存储数据的虚表,
因此对视图的更新最终要转换为对基本表的更新。
插入数据
语法格式:
insert into
视图名(列名,列名.....)
values(属性值,属性值,属性值);
和基本表的插入数据的格式一模一样。
修改数据
语法格式:
update 视图名 set 列名=属性名 where 筛选条件;
和基本表的修改数据的格式一模一样。
删除数据
delete from 视图名 where 筛选条件;
和基本表的删除数据的格式一模一样。
视图的可更新性和视图中查询的定义有关系,
以下类型的视图是不能更新的:
- 包含以下关键字的sql语句: 分组函数、distinct、group by、having
union或者union all - 常量视图
- select中包含子查询
- join
- form一个不能更新的视图
- where子句的子查询引用了from子句中的表
视图和表的对比
创建语法的关键字 | 是否实际占用物理空间 | 使用 | |
---|---|---|---|
视图 | create view | 只是保存了sql逻辑 | 可以增删改查,但一般不能增删改 |
表 | create table | 保存了数据 | 增删改查 |
综合大实验
实验环境
创建一个有学号、姓名、性别的stu视图
查看stu的结构
更改视图stu,只显示学号和姓名
在视图stu中插入一个叫张三的人的数据
你会发现本质上改的还是基础表
删除stu中的张三
数据库视图的概念和相关操作合集相关推荐
- OpenShift 4 之 Image Registry、Image 和 ImageStream 概念和相关操作
<OpenShift 4.x HOL教程汇总> OpenShift 4 之 Image Registry.Image 和 ImageStream 概念和相关操作 概念篇 1. Contai ...
- 原生JS中DOM节点相关API合集
原生JS中DOM节点相关API合集 节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Te ...
- 2015年中国数据库技术大会(DTCC)PPT合集
2015年中国数据库技术大会(DTCC)PPT合集 由国内领先的IT专业网站IT168联合旗下ITPUB.ChinaUnix两大技术社区举办的2015第六届中国数据库技术大会(DTCC2015)在北京 ...
- 国内常见与人工智能(深度学习、机器学习)相关比赛合集
国内常见与人工智能(深度学习.机器学习)相关比赛合集 以下比赛一般最近一年一次,一届一届的办,不过在我们学校都不算ABC类,但在要继续走一下还是挺有用的,当然钱也比普通比赛奖励的多 一.[第五届中 ...
- 数据库 视图基础概念
数据库中视图的概念: 视图是从一个表或是多个表导出的表,视图与表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中指存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视 ...
- mysql显示表已存在_MySQL数据库与数据表的相关操作
数据库相关操作: 显示数据库:show databases; 如果是0.00秒并不代表没有花费时间,而是时间非常短,小于0.01秒. 创建数据库: Query OK表示创建成功,1行受到影响,处理时间 ...
- JAVA 二叉树 常见操作合集(前中后序递归非递归遍历 层序遍历 求深度宽度 判断兄弟结点 堂兄弟节点)
今天复习了二叉树的相关操作,整理归纳如下. 二叉树结点定义 //节点类private static class TreeNode{private int val = 0;private TreeNod ...
- 珍宝鸭的力扣练习(14):栈操作合集
通用方法:辅助栈 考虑借用一个辅助栈 stack ,模拟 压入 / 弹出操作的排列.根据是否模拟成功,即可得到结果. 题目合集: 题目1:栈的压入.弹出序列 题目2: 双栈实现队列 ) 题目1:栈的压 ...
- 重磅福利!60篇近两年高影响因子环境污染微生态相关文献合集免费领取
为了助力微生物研究,深圳微科盟公司将为大家回顾一下近两年环境污染微生态文章,本次囊括了2020年至今60篇环境污染微生态高影响因子文献合集,涉及多个研究领域,有助于了解最新科研动态. 为了方便各位小伙 ...
最新文章
- nginx做方向代理不显示图片的问题
- SAP进阶:再论SAP权限
- require.context实现前端工程自动化
- Kibana入门安装与介绍
- html ui 下拉列表,Atitit.ui控件-下拉菜单选择控件的实现select html_html/css_WEB-ITnose...
- 【kafka】kafka 启动报错 InvalidReceiveException: Invalid receive (size = -720899)
- Mxne入门--第2篇
- c语言程序设计辅导资料pdf,C语言程序设计辅导资料(修订版).pdf
- 模糊神经网络算法matlab,模糊神经网络算法原理
- 非参数统计的Python实现—— Kruskal-Wallis 单因素方差分析
- KITTI数据集GPS数据格式dataformat
- 数据结构——八大排序算法(面试必备)
- 汉高2020财年第三季度实现强劲的有机销售额增长,增幅达3.9%
- Unfinished
- 小红书笔记api_odoo与小红书对接笔记
- 检测电池电量和充电状态
- 《满族姓氏寻根大全·满族老姓全录》
- 让更多人用到自己的代码,让信仰在风中飘扬
- 使用kubeadm快速部署一个K8s集群
- cisco路由器ios升级宝典