目录

  • 视图的概念
  • 创建视图
  • 删除视图
  • 查看视图的格式
  • 视图的修改
  • 视图的更新
  • 视图和表的对比
  • 综合大实验

视图的概念

视图:
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中的张三

数据库视图的概念和相关操作合集相关推荐

  1. OpenShift 4 之 Image Registry、Image 和 ImageStream 概念和相关操作

    <OpenShift 4.x HOL教程汇总> OpenShift 4 之 Image Registry.Image 和 ImageStream 概念和相关操作 概念篇 1. Contai ...

  2. 原生JS中DOM节点相关API合集

    原生JS中DOM节点相关API合集 节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Te ...

  3. 2015年中国数据库技术大会(DTCC)PPT合集

    2015年中国数据库技术大会(DTCC)PPT合集 由国内领先的IT专业网站IT168联合旗下ITPUB.ChinaUnix两大技术社区举办的2015第六届中国数据库技术大会(DTCC2015)在北京 ...

  4. 国内常见与人工智能(深度学习、机器学习)相关比赛合集

    国内常见与人工智能(深度学习.机器学习)相关比赛合集 ​ 以下比赛一般最近一年一次,一届一届的办,不过在我们学校都不算ABC类,但在要继续走一下还是挺有用的,当然钱也比普通比赛奖励的多 一.[第五届中 ...

  5. 数据库 视图基础概念

    数据库中视图的概念: 视图是从一个表或是多个表导出的表,视图与表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中指存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视 ...

  6. mysql显示表已存在_MySQL数据库与数据表的相关操作

    数据库相关操作: 显示数据库:show databases; 如果是0.00秒并不代表没有花费时间,而是时间非常短,小于0.01秒. 创建数据库: Query OK表示创建成功,1行受到影响,处理时间 ...

  7. JAVA 二叉树 常见操作合集(前中后序递归非递归遍历 层序遍历 求深度宽度 判断兄弟结点 堂兄弟节点)

    今天复习了二叉树的相关操作,整理归纳如下. 二叉树结点定义 //节点类private static class TreeNode{private int val = 0;private TreeNod ...

  8. 珍宝鸭的力扣练习(14):栈操作合集

    通用方法:辅助栈 考虑借用一个辅助栈 stack ,模拟 压入 / 弹出操作的排列.根据是否模拟成功,即可得到结果. 题目合集: 题目1:栈的压入.弹出序列 题目2: 双栈实现队列 ) 题目1:栈的压 ...

  9. 重磅福利!60篇近两年高影响因子环境污染微生态相关文献合集免费领取

    为了助力微生物研究,深圳微科盟公司将为大家回顾一下近两年环境污染微生态文章,本次囊括了2020年至今60篇环境污染微生态高影响因子文献合集,涉及多个研究领域,有助于了解最新科研动态. 为了方便各位小伙 ...

最新文章

  1. nginx做方向代理不显示图片的问题
  2. SAP进阶:再论SAP权限
  3. require.context实现前端工程自动化
  4. Kibana入门安装与介绍
  5. html ui 下拉列表,Atitit.ui控件-下拉菜单选择控件的实现select html_html/css_WEB-ITnose...
  6. 【kafka】kafka 启动报错 InvalidReceiveException: Invalid receive (size = -720899)
  7. Mxne入门--第2篇
  8. c语言程序设计辅导资料pdf,C语言程序设计辅导资料(修订版).pdf
  9. 模糊神经网络算法matlab,模糊神经网络算法原理
  10. 非参数统计的Python实现—— Kruskal-Wallis 单因素方差分析
  11. KITTI数据集GPS数据格式dataformat
  12. 数据结构——八大排序算法(面试必备)
  13. 汉高2020财年第三季度实现强劲的有机销售额增长,增幅达3.9%
  14. Unfinished
  15. 小红书笔记api_odoo与小红书对接笔记
  16. 检测电池电量和充电状态
  17. 《满族姓氏寻根大全·满族老姓全录》
  18. 让更多人用到自己的代码,让信仰在风中飘扬
  19. 使用kubeadm快速部署一个K8s集群
  20. cisco路由器ios升级宝典

热门文章

  1. 洛谷P1220 关路灯(区间dp)
  2. jQuery选择器整理
  3. response.addCookie(cookie)添加cookie失败.
  4. 高级停靠(Dock)技术的实现
  5. 如何编写高质量CSS
  6. linux mktime函数会受当前环境变量设置的时区影响
  7. AB1601移植二维码编码库注意事项
  8. C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法
  9. sql注入——day02
  10. [力扣leetcode319]灯泡问题