当前位置: 首页 > news >正文

MySQL【知识改变命运】12

视图

  • 1:什么是视图
  • 2:创建视图
  • 使用视图(视图的好处)
    • 2.1.隐藏敏感字段
    • 2.2.对外提供统一访问
    • 3:视图和真实表进⾏表连接查询
  • 4:修改视图数据
    • 4.1:通过真实表修改数据,会影响视图
    • 4.2:通过视图修改数据会影响基表
  • 6:删除视图

1:什么是视图

  • 视图是一张虚拟的表
  • 视图是基于一个或者多个基表或者其他视图查询的结果集
  • 视图本身不占有物理内存,也不存储数据,只是根据查询执行来动态生成数据。
  • 用户对普通表的操作(查询,更新,删除)也可以在视图里面操作。

2:创建视图

# 语法
CREATE VIEW view_name [(column_list)] AS select_statement
create view//创建视图关键词
view_name// 视图名
column_list//视图包含的列
select_statement//视图所依赖的查询语句
  • 我们先查询一下表
    在这里插入图片描述
  • 然后创建一个视图
    这里我们要注意一个小问题,我们要防止在视图中出现名字重复
    在这里插入图片描述
    创建成功:
    在这里插入图片描述
  • 视图用show tables 查询也在表集合里面
    在这里插入图片描述
  • 我们可以用视图直接查询

在这里插入图片描述

  • 查询视图结构
    在这里插入图片描述

使用视图(视图的好处)

2.1.隐藏敏感字段

  • 举例:查询⽤⼾的姓名和总分,(隐藏学号和各科成绩
# 使⽤真实表进⾏查询
select s.name, sum(sc.score) total from student s, score sc 
where s.id = sc.student_id
group by sc.student_id order by s.id;# 如果使⽤真实表,在查询列表中随时可以加上学号字段# 创建视图
create view v_student_total_points as
select s.id, s.name, sum(sc.score) total from student s, score sc 
where s.id = sc.student_id 
group by s.id order by s.id;
# 使⽤视图查询,只能查到学⽣姓名和总分,不能再添加查询字段

2.2.对外提供统一访问

在这里插入图片描述

3:视图和真实表进⾏表连接查询

select * from v_student_total_points v, student s where v.id = s.id;

查询操作,使用视图和使用真实表一样的,有无视图是基于真实表的

4:修改视图数据

4.1:通过真实表修改数据,会影响视图

因为视图本质是依赖于真实表的
在这里插入图片描述

4.2:通过视图修改数据会影响基表

但是一下情况,无法使用修改视图

  • 修改真实表会影响视图,修改视图同样也会影响真实表
  • 以下视图不可更新:
  • 创建视图时使⽤聚合函数的视图
  • 创建视图时使⽤ DISTINCT
  • 创建视图时使⽤ GROUP BY 以及 HAVING ⼦句
  • 创建视图时使⽤ UNION 或 UNION ALL
  • 查询列表中使⽤⼦查询
  • 在FROM⼦句中引⽤不可更新视图

6:删除视图

语法:
drop view view_name;

在这里插入图片描述

相关文章:

MySQL【知识改变命运】12

视图 1:什么是视图2:创建视图使用视图(视图的好处)2.1.隐藏敏感字段2.2.对外提供统一访问3:视图和真实表进⾏表连接查询 4:修改视图数据4.1:通过真实表修改数据,会影响视图4.2&#…...

shell编程(完整版)

目录 一、shell脚本解释器 二、shell脚本的执行 三、变量的使用 四、永久环境变量 按用户设置永久环境变量 文件路径: 示例步骤: 删除永久环境变量 五、脚本程序传递参数怎么实现 六、用编程进行数学运算 shell中利用expr进行运算 运算与变量…...

数字逻辑(一)——导论

1.导论 1.1什么是数字逻辑? 数字逻辑是指在数字电路设计、计算机科学领域中对于离散的二进制信号进行逻辑处理、运算、存储和传输的基本原理和方法。 1.2数字量和模拟量的区别 数字量:在时间上和数量上都是离散的、不连续的物理量。模拟量&#xff1…...

量化交易系统开发-实时行情自动化交易-4.4.做市策略

19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说做市策略原理。 做市策…...

《线性代数的本质》

之前收藏的一门课,刚好期末复习,顺便看一看哈哈 课程链接:【线性代数的本质】合集-转载于3Blue1Brown官方双语】 向量究竟是什么 线性代数中最基础、最根源的组成部分就是向量,需要先明白什么是向量 不同专业对向量的看法 物理专…...

Gbase8s 允许内置用户创建用户以及创建只读权限用户以及利用角色管理普通用户权限

Gbase8s 允许内置用户创建用户以及创建只读权限用户以及利用角色管理普通用户权限 普通安装实例创建数据库以后,DBA权限只有gbasedbt用户。gbasdbt可以创建普通用户,并且给普通用户赋予库及权限或者表级权限。 但是gbasedbt用户口令和操作系统相关,所以想在不提供gbasedbt的…...

24/11/25 视觉笔记 深度传感器和手势识别

本章的目的是开发一个应用程序,使用深度传感器的输出实时检测和跟踪简单的手势。该应用程序将分析每个已捕捉的帧。并执行以下任务。 手部区域分割:通过分析Kinect传感器的深度图输出,在每一帧中提取用户的手部区域,这是通过阈值…...

迄今为止的排序算法总结

迄今为止的排序算法总结 7.10 迄今为止的排序算法总结复杂度和稳定性时间复杂度测试程序sortAlgorithm.hsortAlgorithm.cpptest.cpp 时间复杂度测试结果 7.10 迄今为止的排序算法总结 复杂度和稳定性 排序算法平均情况最好情况最坏情况稳定性空间复杂度选择排序O(n^2)O(n^2)O…...

HTML和CSS 表单、表格练习

HTML和CSS 表格练习 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML表格练习</title>…...

H5流媒体播放器EasyPlayer.js网页直播/点播播放器如果H.265视频在播放器上播放不流畅,可以考虑的解决方案

随着流媒体技术的迅速发展&#xff0c;H5流媒体播放器已成为现代网络视频播放的重要工具。其中&#xff0c;EasyPlayer.js网页直播/点播播放器作为一款功能强大的H5播放器&#xff0c;凭借其全面的协议支持、多种解码方式以及跨平台兼容性&#xff0c;赢得了广泛的关注和应用。…...

Http 转 https 中 Nginx 的详细配置过程

摘要 本节将简要介绍从 HTTP 到 HTTPS 的配置过程&#xff0c;并完整展示 Nginx 的相关配置信息。 经过两天断断续续的调试&#xff0c;终于将 http 变成 https 了。现在说说这个安装 ssl 证书的过程。 服务器是在某云上。这个过程大致分为三个步骤&#xff1a;申请 ssl 证书、…...

【测试工具JMeter篇】JMeter性能测试入门级教程(二)出炉,测试君请各位收藏了!!!

上篇文章&#xff1a;CSDN 我们介绍了JMeter的一些原理介绍&#xff0c;以及安装配置和启动流程&#xff0c;本文我们就来讲讲JMeter如何使用。 一、JMeter目录结构组成 1. 根目录 Jmeter安装包解压后的根目录如下图&#xff1a; 1.1 backups目录&#xff1a;脚本备份目录&am…...

Otter 安装流程

优质博文&#xff1a;IT-BLOG-CN 一、背景 随着公司的发展&#xff0c;订单库的数据目前已达到千万级别&#xff0c;需要进行分表分库&#xff0c;就需要对数据进行迁移&#xff0c;我们使用了otter&#xff0c;这里简单整理下&#xff0c;otter 的安装过程&#xff0c;希望对…...

一文学会Golang里拼接字符串的6种方式(性能对比)

g o l a n g golang golang的 s t r i n g string string类型是不可修改的&#xff0c;对于拼接字符串来说&#xff0c;本质上还是创建一个新的对象将数据放进去。主要有以下几种拼接方式 拼接方式介绍 1.使用 s t r i n g string string自带的运算符 ans ans s2. 使用…...

【笔记】Linux下编译Python3.10.15为动态库同时正确处理OpenSSL3依赖

之前自己第一次编译Python后发现pip会提示无法使用SSL&#xff0c;后来了解到是自己编译时没有配置OpenSSL。这个过程有点曲折&#xff0c;里面有一个坑&#xff0c;怕忘记于是写博客记录一下。 首先是下载OpenSSL&#xff0c;Python3.10.15支持此时最新版的OpenSSL 3.4.0&…...

Go语言获取客户端真实IP

在一些需求中&#xff0c;服务器需要记录客户端的ip地址&#xff0c;要获取ip地址&#xff0c;则需要有http.Request的对象参数传入&#xff0c;以下代码直接放在util中使用。 文件名&#xff1a;ip_utils.go package utilsimport ("context""github.com/spf1…...

大模型论文速递(11.23-11.25)

BlueLM-V3B 关键词&#xff1a;动态分辨率&#xff0c;图像放大&#xff0c;适应性网格化方法 研究问题&#xff1a;如何改进现有的动态分辨率匹配方法以减少在模型训练和部署中的计算复杂度&#xff1f; 方法&#xff1a; 分析现有动态分辨率匹配算法&#xff08;如LLaVA-…...

维护在线重做日志(二)

迁移和重命名 可以使用操作系统命令重新定位重做日志&#xff0c;然后使用ALTER DATABASE语句使数据库知道它们的新名称&#xff08;位置&#xff09;。这个过程是必要的&#xff0c;例如&#xff0c;如果当前用于一些重做日志文件的磁盘将被删除&#xff0c;或者如果数据文件…...

.net core MVC入门(一)

文章目录 项目地址一、环境配置1.1 安装EF core需要包1.2 配置数据库连接二、使用EF创建表2.1 整体流程梳理2.1 建表详细流程三、添加第一个视图3.1整体流程梳理3.1 添加视图,并显示在web里四、使用EF增加Catogory数据,并且读取数据到页面4.1整体流程梳理4.2 实现五、增加Cat…...

802.11协议

802.11协议是由美国电气和电子工程师协会&#xff08;IEEE&#xff09;制定的无线局域网&#xff08;WLAN&#xff09;标准。以下是关于802.11协议的详细介绍&#xff1a; 一、定义与背景 定义&#xff1a;IEEE802.11是美国电机电子工程师协会&#xff08;IEEE&#xff09;为…...

Python多解释器冷启动优化:从2.1s到87ms的极致压缩术(附可复用的预热调度器)

第一章&#xff1a;Python多解释器冷启动优化&#xff1a;从2.1s到87ms的极致压缩术&#xff08;附可复用的预热调度器&#xff09; 在微服务与Serverless场景中&#xff0c;Python多解释器&#xff08;如PyO3、subinterpreters或进程级隔离&#xff09;常因模块导入、C扩展初始…...

DanKoe 视频笔记:通用时代崛起:如何通过多种兴趣茁壮成长

在本教程中&#xff0c;我们将探讨为何在当今的“创作者经济”中&#xff0c;拥有广泛兴趣和技能的“通才”比只精通一门的“专家”更具优势。我们将分析背后的原因&#xff0c;并提供一套实用的步骤&#xff0c;帮助你作为一名通才&#xff0c;在数字世界中建立个人品牌、吸引…...

24小时运行OpenClaw:nanobot镜像监控网站变更并邮件报警

24小时运行OpenClaw&#xff1a;nanobot镜像监控网站变更并邮件报警 1. 为什么需要自动化网站监控 上周我负责的一个项目突然出了状况——客户官网的产品价格页面被意外修改&#xff0c;导致大量用户投诉。团队花了整整两天才发现问题根源。这件事让我意识到&#xff0c;对于…...

个人知识管理:用OpenClaw+nanobot构建第二大脑

个人知识管理&#xff1a;用OpenClawnanobot构建第二大脑 1. 为什么需要第二大脑&#xff1f; 作为一名技术写作者&#xff0c;我每天要处理大量信息&#xff1a;技术文档、行业报告、代码片段、会议记录...这些碎片化知识散落在浏览器书签、微信收藏、本地文档里&#xff0c…...

多核系统RingBuff通信机制与实现原理

多核系统RingBuff通信机制深度解析1. 核间通信基础架构1.1 共享内存通信原理在多核处理器系统中&#xff0c;主核与从核之间的通信通常采用共享内存机制。这种设计通过以下核心组件实现&#xff1a;共享内存区域&#xff1a;预先分配的可被多个核访问的物理内存空间核间中断&am…...

Thing.Core:面向嵌入式IoT的声明式C++框架

1. Thing.Core 框架概述&#xff1a;面向嵌入式 IoT 开发的声明式抽象层Thing.Core 是一个专为物联网终端设备快速开发而设计的轻量级 C 框架&#xff0c;其核心设计理念是生产力优先于极致性能。这一取舍在当前 ESP32、ESP8266、nRF52840 等高性能 MCU 广泛普及的背景下具有明…...

无缝全流程开源项目本地化:技术特性与用户收益深度解析

无缝全流程开源项目本地化&#xff1a;技术特性与用户收益深度解析 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 开源项目本地化是全球化协作时代的关键需求&#xff0c;它不仅关乎用户体验的流畅性&#xff0c;更是项目…...

维纳滤波语音信号降噪Matlab程序含报告 包含6页文档报告。 使用了维纳滤波的技术去除高斯噪...

维纳滤波语音信号降噪Matlab程序含报告 包含6页文档报告。 使用了维纳滤波的技术去除高斯噪声&#xff0c; 程序可以直接运行&#xff0c;附带声音。 无需多余操作&#xff0c;点击运行即可。 程序经过多次测试&#xff0c;包成功运行&#xff0c;附带运行操作视频。最近在折腾…...

突破原厂限制:用开源相机工具解锁Sony相机7大隐藏功能

突破原厂限制&#xff1a;用开源相机工具解锁Sony相机7大隐藏功能 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 作为一名摄影爱好者&#xff0c;我一直梦想能充分掌控我的Sony相…...

告别PDF编辑难题:pdf2docx智能转换工具深度解析

告别PDF编辑难题&#xff1a;pdf2docx智能转换工具深度解析 【免费下载链接】pdf2docx Open source Python library converting pdf to docx. 项目地址: https://gitcode.com/gh_mirrors/pd/pdf2docx 还在为无法编辑PDF文档而烦恼吗&#xff1f;是否遇到过需要修改PDF内…...