MySQL学习(16):视图
视图是一种虚拟临时表,并不真正存储数据,它的作用就是方便用户查看实际表的内容或者部分内容
1.视图的使用语法
(1)创建
create view 视图名称 as select语句;
#视图形成的虚拟表就来自于select语句所查询的实际表,这个实际表称为视图的基表

(2)查询
#查询视图创建语句:
show create view 视图名称;#查看视图数据:
select * from 视图名;
#由于视图的数据就来自实际表,所以可以直接把视图当做普通表来查询
(3)修改
方式一:
replace view 视图名 as select语句;方式二:
alter view 视图名 as select语句;
(4)删除
drop view 视图名;
2.视图的检查选项
视图虽然是虚拟表,不存储数据,但依然可以对它进行增删改,只是增删改的对象是视图的基表。
要了解视图的检查选项的作用,可以先观察下面的实例:
![]()
这条语句创建的视图是,基表加上where条件创建的,那么当对这个视图进行增删改,但却违反where条件时,增删改会执行成功吗?

用上图中的2条语句插入数据(第二条违反了where条件),结果全部都执行成功了。
会出现这种情况,就是因为创建视图的语句中缺少了检查选项。
视图的检查选项有2种:cascaded、loacl
2.1 cascaded(默认)
在创建视图的语句后添加with check option(也就是检查选项)后,
create view 视图名称 as select语句 with check option;
视图的增删改就会检查创建时所设置的条件,如果违反条件,则增删改就会执行失败。
with check option是with cascaded check option的简写,如果写成with loacl check option则代表loacl检查
cascaded检查个特别的注意事项:
由于视图可以根据其他视图创建,所以就存在是否继承其他视图的约束条件的问题
(1)视图2(有检查选项)←视图1(无检查选项)←基表

像上图这样,stu_v_2视图根据stu_v_1创建,同时又在stu_v_2创建语句后加了cascaded检查选项,那么stu_v_2的增删改就会同时判断stu_v_2、stu_v_1两个视图的约束条件。也就是说,上图只有15,Tom添加成功了,其他2条都失败了
(2)试图3(无检查选项)←视图2(有检查选项)←视图1(无检查选项)←基表

继续前面的案例。若如上图这样创建stu_v_3,那么stu_v_3的增删改会看stu_v_2及stu_v_1的约束条件,而不看stu_v_3自身的约束条件(因为stu_v_3创建语句本身没加检查选项),也就是上图中的前2条语句添加数据成功,第3条语句添加数据失败。
2.2 local
(1)视图2(有检查选项)←视图1(无检查选项)←基表

对于上图的v2视图,在进行增删改时只看自己的约束条件,而不看v1的约束条件。
如果v1的创建语句后也有with loacl check option,那么就会同时看v2、v1的约束条件了。这也是两种检查选项的主要区别
(2)试图3(无检查选项)←视图2(有检查选项)←视图1(无检查选项)←基表

对于上图的v3视图,在进行增删改时只看v2的约束条件,而不看v3、v1的约束条件
3.视图增删改的条件
对视图进行增删改的前提,是视图中的行要与基表中的行一对一。
若视图包含以下任何一项,就违反了这一前提:
(1)聚合函数或窗口函数,如sum、min、max、count等
(2)distinct(去重)
(3)group by(分组)
(4)having
(5)union或union all(联合查询)
相关文章:
MySQL学习(16):视图
视图是一种虚拟临时表,并不真正存储数据,它的作用就是方便用户查看实际表的内容或者部分内容 1.视图的使用语法 (1)创建 create view 视图名称 as select语句; #视图形成的虚拟表就来自于select语句所查询的实际表,…...
android13关机按钮 去掉长按事件 去掉启动到安全模式 删除关机长按
总纲 android13 rom 开发总纲说明 目录 1.前言 2.界面效果 3.问题分析 4.代码修改 5.编译替换运行 6.彩蛋 1.前言 在Android操作系统中,关机按钮通常具有多种功能,包括短按关机、长按启动语音助手或重启设备等。在某些情况下,用户或设备管理员可能希望自定义关机按…...
递归求数组和
...
MySQL数据库介绍
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、数据库介绍 1、什么是数据库 数据库就是一个存放计算机数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织…...
向量数据库性能测试工具(VectorDBBench.com)性价比排名
排名 向量数据库(不同硬件配置) 价格/性能比 QP$(每百万次查询所花费的价格)中型数据集, OpenAI 无标量过滤 QP$(每百万次查询所花费的价格)中型数据集, OpenAI 低标量过滤 QP$(每百万次查询所花费的价格)中型数据集, OpenAI 高标量过滤 QP$(每百万次查询所花费的价…...
2024年的AI人工智能风口是Python?一篇文章告诉你为什么!
Python是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行,我认为主要有三点原因: 1.Python 简单易用,学习成本低,看起来非常干净; 2.Python 标准库和第三库众多,功能…...
使用SpringBoot集成CAS、应用场景和示例代码
Spring Boot与CAS集成可以为应用程序提供单点登录(SSO)功能,CAS(Central Authentication Service)是一种单点登录协议,用于通过一个中央认证服务器来进行认证,从而使用户可以通过一次登录访问多…...
python爬取某财富网
点赞的人太多了。我只能修改一下代码… 感觉不对劲啊、 过程: 点击底部的第3页,第5页,网页刷新了,但是顶部的url地址没有变。那么就是 动态加载, 就是 XHR. 直接请求api. 实验代码如下: import requestsheaders {…...
Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 之 [ 选择并训练模型 ] [ 模型微调 ] | 3/3(含分析过程)
Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 之 [ 选择并训练模型 ] [ 模型微调 ] | 3/3(含分析过程) 目录 Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 之 [ 选择并训练模型 ] [ 模型微调 ] | 3/3(含分析…...
NLP-使用Word2vec实现文本分类
Word2Vec模型通过学习大量文本数据,将每个单词表示为一个连续的向量,这些向量可以捕捉单词之间的语义和句法关系。本文做文本分类是结合Word2Vec文本内容text,预测其文本标签label。以下使用mock商品数据的代码实现过程过下: 1、…...
基于SpringBoot实现验证码功能
目录 一 实现思路 二 代码实现 三 代码汇总 现在的登录都需要输入验证码用来检测是否是真人登录,所以验证码功能在现在是非常普遍的,那么接下来我们就基于springboot来实现验证码功能。 一 实现思路 今天我们介绍的是两种主流的验证码,一…...
字节测开面筋大总结!!!!
字节测开 字节 测开 一二三面 面经字节测开实习凉经字节测开一面字节测开一面凉经字节测开一面凉经字节测开一面凉经字节测开一面凉经字节跳动测开(电商)一面字节测开实习二面字节测开面经字节测开面经字节测开实习一面字节测开一面(挂&#…...
Mindspore框架DCGAN模型实现漫画头像生成|(二)DCGAN模型构建
Mindspore框架DCGAN模型实现漫画头像生成 Mindspore框架DCGAN模型实现漫画头像生成|(一)漫画头像数据集准备Mindspore框架DCGAN模型实现漫画头像生成|(二)DCGAN模型构建Mindspore框架DCGAN模型实现漫画头像生成|(三&a…...
mongo-csharp-driver:MongoDB官方的C#客户端驱动程序!
MongoDB一个开源、高性能、无模式的文档型数据库,在日常项目开发中,运用也是非常广泛。 MongoDB官方也针对各门编程语言,都推出相应的客户端驱动程序,下面一起了解下C#版本。 01 项目简介 mongo-csharp-driver是 MongoDB官方C#…...
网络流量分析>>pcapng文件快速分析有用价值解析
引言 在网络安全和流量管理中,解析网络协议数据包是了解网络行为和检测潜在威胁的关键步骤。本文介绍了如何使用Python解析和分析TCP、UDP和ICMP协议的数据包,并统计端口的访问次数。本文的示例代码展示了如何处理不同协议的数据包,提取关键…...
【大模型系列篇】Vanna-ai基于检索增强(RAG)的sql生成框架
简介 Vanna是基于检索增强(RAG)的sql生成框架 Vanna 使用一种称为 LLM(大型语言模型)的生成式人工智能。简而言之,这些模型是在大量数据(包括一堆在线可用的 SQL 查询)上进行训练的,并通过预测响应提示中最…...
【Nacos安装】
这里写目录标题 Nacos安装jar包启动Docker单体Docker集群 Nacos相关配置日志配置数据库配置 Nacos安装 jar包启动 下载jar包 在官方github,根据需求选择相应的版本下载。 解压 tar -zxvf nacos-server-2.4.0.1.tar.gz或者解压到指定目录 tar -zxvf nacos-serv…...
js、ts、argular、nodejs学习心得
工作中需要前端argular开发桌面程序,后端用nodejs开发服务器,商用软件架构...
【Unity】RPG2D龙城纷争(十八)平衡模拟器
更新日期:2024年7月31日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、BalanceSimulator 类二、RoleAgent 角色代理类三、绘制代理角色四、模拟攻击简介 平衡模拟器用于实时模拟测试角色属性以及要诀属性的数值,以寻找数值设计的平衡性。 介于运行正式游…...
java.lang.IllegalStateException: Duplicate key InventoryDetailDO
以下总结自以下链接 Java8 Duplicate key 异常解决-CSDN博客 原因:由于我们使用了jdk8的新特性中的stream流,将list转换为map集合,但是原来的list集合中存在重复的值,我们不知道如何进行取舍,所以报错 解决方式&…...
消费电子贴膜的光学技术革新:圆偏振光与磁控溅射AR的原理解析
摘要随着用户对屏幕使用健康关注的提升,消费电子贴膜行业正在经历从“物理防护”到“光学级视觉守护”的技术升级。本文从光学原理出发,解析圆偏振光柔光标准与磁控溅射AR抗眩镀膜两项核心技术的工作机制,并分析其在屏幕保护场景中的应用逻辑…...
ElevenLabs陕西话语音落地实录:从零配置API到高保真秦腔语调还原,7步搞定方言TTS部署
更多请点击: https://kaifayun.com 第一章:ElevenLabs陕西话语音落地实录:从零配置API到高保真秦腔语调还原,7步搞定方言TTS部署 环境准备与API密钥获取 首先注册ElevenLabs账号并进入 Profile → API Keys页面,生成…...
LangGraph Reducer 深度应用:为什么你的 State 合并总是出问题?
这篇文章帮你搞定 LangGraph Reducer 的高级用法,从源码解析到生产级模式,从并发安全到测试策略 阅读提示 适合谁看:已读过 State 设计模式基础,想深入 Reducer 机制的工程师看完能做什么:能实现生产级 Reducer&#x…...
CANN/asc-devkit浮点ilogbf函数文档
ilogbf 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/can…...
YCWebView架构设计与源码解析:面向对象设计思想与模块化实现
YCWebView架构设计与源码解析:面向对象设计思想与模块化实现 【免费下载链接】YCWebView 基于腾讯x5开源库,提高webView开发效率,大概要节约你百分之六十的时间成本。该案例支持处理js的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异…...
【大模型12步学习路线 · 第12步 · ②代码篇】Qwen3-VL + ColQwen2.5 + Qdrant 多模态 RAG 全栈实战
【大模型12步学习路线 第12步 ②代码篇】Qwen3-VL + ColQwen2.5 + Qdrant 多模态 RAG 全栈实战 系列定位:「大模型正确学习顺序」12 步系列 第 12 步 多模态 的 ②代码篇。 前置阅读:①原理篇 —— VLM 全景 + Multimodal RAG 三大架构。 本篇产出:Qwen3-VL-8B 视觉问答上手…...
艾络迅 × 荣耀:联合推出Meteer AI跳舞机器人玩具,智能科技重新定义儿童陪伴
在快节奏的现代生活中,每个孩子都渴望获得专属的陪伴与关注。他们对音乐和律动有着天然的热爱,期待拥有能够与之互动、共同成长的智能伙伴。然而,传统玩具的单一功能已无法满足数字原生代儿童的多元化需求。 正是洞察到这一痛点,艾…...
以灵活测试方案打造共享实验室,强化槟城IC设计生态系统
益莱储(Electro Rent) InvestPenang|IC 设计验证与特性表征共享实验室马来西亚槟城正积极推进其成为亚洲领先的半导体枢纽。在 InvestPenang 主导的「Penang Silicon Design 5KM(PSD5KM)」计划下,全新的 I…...
Delft3D建模、水动力模拟方法及在地表水环境影响评价中的实践技术应用
一:Delft3D软件介绍及建模原理和步骤对常见的地表水数值模型进行介绍,学习Delft3D软件的构成、界面内容,了解地表水数值模型的建模步骤:1.1地表水数值模拟常用软件介绍EFDC_Explorer(商业) Delft3D…...
数据类型与变量-Part1-基础篇
C语言数据类型与变量(基础篇) 系列导航 📍 Part 1: C语言数据类型与变量(基础篇)← 你在这里🔜 Part 2: C语言内存探秘(进阶篇)🔜 Part 3: C语言输入输出格式化艺术 大家…...
