MySQL之View(视图)
基本知识
①含义:虚拟表,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(视图)相关推荐
- mysql view none,MySQL笔记之视图的使用详解
什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据. 数 ...
- mysql 视图 教程_MySQL VIEW(视图)
一.什么是视图? 视图就是存储下来的SQL SELECT语句,也可以说是虚拟的表(在MySQL中视图被当着表来用).这些数据可以是从一个或几个基本表(或视图)的数据.也可以是用户自已定义的数据.其实视 ...
- 查看mysql view作用_Mysql中View视图的作用
浙江PHP博客分享关于Mysql中使用View视图的作用.很多小伙伴知道视图的作用,却不知道为什么要使用视图以及视图的一些好处是什么,下面浙江一点PHP将详细阐述关于视图的用法以及作用. 作用一: 提 ...
- Mysql进阶三板斧(一)带你彻底搞懂View视图的原理及应用
视图的起源 MySQL5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是存储过程与触发器.均属于相对"高级"一点的数据库必需功能. 视图是一种虚拟存在的表,行和列 ...
- 【MySQL笔记】视图的创建与使用(VIEW)
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图.比如,针对一个公司的销售人员,我们只想给他们看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给 ...
- 在mysql中 创建视图需要使用_语句_SQL如何通过CREATE VIEW 语句创建视图
一.什么是视图 视图是基于SELECT 语句的结果集的可视化的表. 在 SQL 中,一个视图是基于某个 SELECT 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的域就是来自一 ...
- mysql基础之视图
原文:mysql基础之视图 在查询中,我们经常把查询结果 当成临时表来看. View是什么? View可以看一张虚拟表. 是表通过某种运算得到的一个投影. 既然视图只是表的某种查询的投影,所以主要步骤 ...
- MySQL查看所有视图的命令
MySQL查看所有视图的命令 有时为了查看特定数据库中所建立的所有视图,可以使用这个命令: 因为,视图其实就是一张虚拟的表,所以也可以认为是一张表,所以是 show table, 而它由于普通的表有所 ...
- mysql七:视图、触发器、事务、存储过程、函数
阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...
最新文章
- ubuntu14.04下使用A3E生成satg配置
- python爬虫爬取csdn博客专家所有博客内容
- 请求分页内存管理的模拟 c++代码_C开发实战-内存管理
- C# 读取Execl和Access数据库
- SQL SERVER 2014 安装图解(含 SQL SERVER 2014 安装程序共享)
- JavaWeb——springMVC异常处理器
- Python-Scikit learn保存机器学习训练的模型
- 如何在Mac上使用预览在PDF上打字?
- Atitit 模块打包器(module bundler)的概念与使用 目录 1. 解决问题	1 1.1. 多js合并方便性能加载	1 1.2. 静态模块打包	2 1.3. 动态模块打包	2 2. 最
- 基于基因数据的神经网络模式分类研究
- 数据库sql语句关键词大全(适合老人),基本你能知道这几个关键词,基本就知道该如何写了(超简略)
- iOS端抓包工具-stream
- 兼容IE8的多文件上传实现
- 如何提升w ndows10系统网速,Win10更新后网速变慢怎么办?教你一招提升Win10网速...
- 推荐 4 款超好用的内网穿透工具,总有一款适合你
- 汇编语言的七种寻址方式
- 如何让 Shell 提示符更酷炫
- HTML5作业2绘画h5标志
- 在Win7环境下搭建Geant4工作平台
- java高频面试题(2023最新)
热门文章
- JSF Spring Hibernate集成示例教程
- linux常用yum 安装基本包_linux - yum常用命令
- java 从键盘中读取字符流 自定义异常
- 【JAVA 第四章 流程控制语句】课后习题 判断两个圆是否相交 圆和直线的位置关系
- JavaScript数组拼接、对象拼接
- 【Python】猜数小游戏
- C#LeetCode刷题之#633-平方数之和( Sum of Square Numbers)
- 【缓存】Redis入门
- web开发应届生入职_我如何从全职妈妈着手完成第一份Web开发人员工作
- 程序员为什么觉得会议很无聊_我从100个无聊的会议中学到的难忘的教训