基本知识

①含义:虚拟表,mysql5.0.1出现的新特性,是通过表动态生成的数据
使用场景:在多个地方用到同样的查询结果,使用的sql语句较复杂,或需求多变时使用(可以保证与数据库进行连接的接口不做更改,只改变视图)

②特点:视图中的数据来自于查询所使用的表,是在使用视图时动态生成的,只保存sql逻辑,不保存查询结果

③创建:CREATE VIEW 视图名 [(列的新名)] AS SELECT语句

④优点:重用sql语句、简化复杂sql操作、保护数据

视图的修改

①CREATE OR REPLACE VIEW 视图名 [(列的新名)] AS SELECT语句
即:视图存在就修改,不存在就创建

②ALTER VIEW 视图名 [(列的新名)] AS SELECT语句

删除视图

DROP VIEW 视图名,视图名,… #可一次删除多个

查看视图

①DESC VIEW 视图名

②SHOW CREATE VIEW 视图名[\G(格式,按行显示)] #可以查看到具体的信息(创建过程)

视图的更新

①无法对视图进行重命名
②当视图关联的表中添加新的字段时,视图中是可以查询到新字段,两者是完全相同的,同时改变
③可以对视图进行数据的增删改,同时会影响到与其关联的表

无法更新视图的几种情况:
包含分组、DIATINCT、HAVING、UNION[all]关键字(视图的一个数据数据由一组数据所得到,无法确定更改来源)
常量视图
SELECT中包含子查询
连接了多个表
FROM一个不能更新的视图
WHERE字句的子查询引用了FROM子句中的表(类似于自连接)

PS:一般只给视图添加只读权限,不允许更改,MySQL5.5视图不支持FROM子查询

MySQL之View(视图)相关推荐

  1. mysql view none,MySQL笔记之视图的使用详解

    什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据. 数 ...

  2. mysql 视图 教程_MySQL VIEW(视图)

    一.什么是视图? 视图就是存储下来的SQL SELECT语句,也可以说是虚拟的表(在MySQL中视图被当着表来用).这些数据可以是从一个或几个基本表(或视图)的数据.也可以是用户自已定义的数据.其实视 ...

  3. 查看mysql view作用_Mysql中View视图的作用

    浙江PHP博客分享关于Mysql中使用View视图的作用.很多小伙伴知道视图的作用,却不知道为什么要使用视图以及视图的一些好处是什么,下面浙江一点PHP将详细阐述关于视图的用法以及作用. 作用一: 提 ...

  4. Mysql进阶三板斧(一)带你彻底搞懂View视图的原理及应用

    视图的起源 MySQL5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是存储过程与触发器.均属于相对"高级"一点的数据库必需功能. 视图是一种虚拟存在的表,行和列 ...

  5. 【MySQL笔记】视图的创建与使用(VIEW)

    视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图.比如,针对一个公司的销售人员,我们只想给他们看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给 ...

  6. 在mysql中 创建视图需要使用_语句_SQL如何通过CREATE VIEW 语句创建视图

    一.什么是视图 视图是基于SELECT 语句的结果集的可视化的表. 在 SQL 中,一个视图是基于某个 SELECT 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的域就是来自一 ...

  7. mysql基础之视图

    原文:mysql基础之视图 在查询中,我们经常把查询结果 当成临时表来看. View是什么? View可以看一张虚拟表. 是表通过某种运算得到的一个投影. 既然视图只是表的某种查询的投影,所以主要步骤 ...

  8. MySQL查看所有视图的命令

    MySQL查看所有视图的命令 有时为了查看特定数据库中所建立的所有视图,可以使用这个命令: 因为,视图其实就是一张虚拟的表,所以也可以认为是一张表,所以是 show table, 而它由于普通的表有所 ...

  9. mysql七:视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

最新文章

  1. ubuntu14.04下使用A3E生成satg配置
  2. python爬虫爬取csdn博客专家所有博客内容
  3. 请求分页内存管理的模拟 c++代码_C开发实战-内存管理
  4. C# 读取Execl和Access数据库
  5. SQL SERVER 2014 安装图解(含 SQL SERVER 2014 安装程序共享)
  6. JavaWeb——springMVC异常处理器
  7. Python-Scikit learn保存机器学习训练的模型
  8. 如何在Mac上使用预览在PDF上打字?
  9. Atitit 模块打包器(module bundler)的概念与使用 目录 1. 解决问题 1 1.1. 多js合并方便性能加载 1 1.2. 静态模块打包 2 1.3. 动态模块打包 2 2. 最
  10. 基于基因数据的神经网络模式分类研究
  11. 数据库sql语句关键词大全(适合老人),基本你能知道这几个关键词,基本就知道该如何写了(超简略)
  12. iOS端抓包工具-stream
  13. 兼容IE8的多文件上传实现
  14. 如何提升w ndows10系统网速,Win10更新后网速变慢怎么办?教你一招提升Win10网速...
  15. 推荐 4 款超好用的内网穿透工具,总有一款适合你
  16. 汇编语言的七种寻址方式
  17. 如何让 Shell 提示符更酷炫
  18. HTML5作业2绘画h5标志
  19. 在Win7环境下搭建Geant4工作平台
  20. java高频面试题(2023最新)

热门文章

  1. JSF Spring Hibernate集成示例教程
  2. linux常用yum 安装基本包_linux - yum常用命令
  3. java 从键盘中读取字符流 自定义异常
  4. 【JAVA 第四章 流程控制语句】课后习题 判断两个圆是否相交 圆和直线的位置关系
  5. JavaScript数组拼接、对象拼接
  6. 【Python】猜数小游戏
  7. C#LeetCode刷题之#633-平方数之和( Sum of Square Numbers)
  8. 【缓存】Redis入门
  9. web开发应届生入职_我如何从全职妈妈着手完成第一份Web开发人员工作
  10. 程序员为什么觉得会议很无聊_我从100个无聊的会议中学到的难忘的教训