视图(view)

news2024/12/28 2:48:27

1、视图:(了解内容)

        就是站在不同的角度去看待同一份数据。

       视图是MySQL服务器中的一个对象,用于存储查询语句,目的的提高查询语句的使用效率,避免在多处地方重复性开发相同的查询语句。

      - 将查询语句交给一个视图对象来管理:

        create view 视图对象名 as 查询语句

        例如:create view emp_view as select * from emp where empno = 7369;

      - 通过视图对象调用管理查询语句

        select * from emp_view;        #该语句调用了select * from emp where empno = 7369;

        额外功能:

              视图对象存储一个查询语句,同时视图对象拥有对当前查询语句所关联的表文件的操作能力也就是说:可以对所关联的表文件进行增删改的操作。

        视图的作用:

              * 提高了查询语句的复用性,避免了在多处地方重复进行查询语句的开发。

              * 隐藏了业务中涉及到的表关系。增强了私密性。

     2、创建与删除视图:

                 创建视图

                 创建表student的视图对象名为student_view.

                 create view student_view as select * from student;

            注意:as 后面只能跟select语句。  只有DQL语句才能以view的形式创建。

                  删除视图

                  drop view student_view;

     3、我们用视图来做什么?

            我们可以面向视图对象进行增删改查,对视图对象的增删改,会导致原表被操作!

    (视图的特点:通过对视图的操作,会影响到原表数据。

        例如:

        查询原表:

        mysql> select * from student;

                 

        创建视图对象:

        create view student_view as select * from student;

        向视图对象中插入数据

        insert into student_view values(1003,'jack','jack@123.com',30);

        再次查询原表:

        mysql> select * from student;

                

        面向视图删除:

        delete from student_view where id = 1003;

                        

     4、视图对象在实际开发中到底有什么用?

            假设有一条非常复杂的SQL语句,而这条SQL语句需要在不同的位置上反复使用,每次使用该语句的时候都需要重新编写,很长很麻烦。这时就可以把这条复杂的SQL语句以视图对象的形式创建,在需要编写这条SQL语句的位置直接使用视图对象,可以大大简化开发,并且有利于后期维护,因为需要修改的时候也只需要修改一个位置就行,只需要修改视图对象所映射的SQL语句。视图对象也是一个文件,在数据库中以文件的形式存在,存储在硬盘上,关机以后不会消失。我们以后面向视图开发的时候,使用视图就像使用table(表)一样,可以对其进行增删改查的操作。

     【小插曲】:

            增删改查又叫CRUD。CRUD是公司中程序员之间沟通的术语,一般我们很少说增删改查。都说CRUD

             C:create

             R:Retrive

             U:update

             D:delete

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Transformer学习笔记1

模型分类:GPT类型: auto-regressive(decoder模型,过去时刻的输出也是现在的输入,例如要得到y8还需要知道y1到y7,但不能使用y9,例如用于文本生成任务)GPTGPT2CTRLTransformer XLBERT类…

Docker 容器监控

目录 cAdvisor 安装cAdvisor 使用Prometheus监控cAdvisor cAdvisor暴露的Prometheus指标 容器指标 1. 文档: 2. 指标 硬件指标 1. 文档: 2. 指标: Node Exporter 安装Node Exporter 1. 启动容器,默认端口为9100 2. …

2023免费电脑c盘磁盘数据恢复软件EasyRecovery

无论是台式机还是笔记本电脑,我们都习惯将其划分成多个大小不一的磁盘,有的是用于安装系统,有的则是用于存储文件。今天小编就和大家解答一下关于电脑磁盘的问题,电脑只剩c盘是硬盘坏了吗,电脑突然就剩c盘怎么恢复。想…

【BP靶场portswigger-客户端16】测试WebSockets安全漏洞-3个实验(全)

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

CMMI落地4大工具 助力CMMI3-5级高效落地

CMMI落地4大工具近日正式上线,全面支持CMMI3-5级,助力CMMI高效落地。CoCode旗下的Co-ProjectV3.0智能项目管理平台全新发布:CMMI成熟度自测工具、量化管理工具(组织级过程改进工具和量化项目管理工具)、组织级过程资产…

分享视频剪辑必备的三个素材软件(配音/文案/图片)

hello,大家好,相信现在很多小伙伴都需要制作视频,无论是从事短视频行业,还是单纯想分享生活视频的都需要对视频进行简单的处理吧?有时候会需要介绍视频内容或是给视频增加点配音,来让视频不那么单调&#x…

C++11 解决内存泄露问题的智能指针:shared_ptr、unique_ptr、weak_ptr

我们经常听到内存泄漏,但是对这个抽象的概念一直没有什么理解,比如产生内存泄漏又将如何,我平时写程序从来不考虑这个等等。这篇的目的:第一,给大家实验实验内存泄露带来的问题,让大家直观感受内存泄露。第…

[数据结构基础]链式二叉树及其前序、中序和后序遍历

一. 链式二叉树的结构和实现 1.1 链式二叉树的结构 链式二叉树,即使用链来表示一颗二叉树。链式二叉树的存储又可分为二叉链和三叉链,其中二叉链存储节点数据、指向左子节点的指针和指向右子节点的指针,三叉链相对于二叉链多存储指向父亲节…

一种基于肌电信号运动起点、波峰、终点实时自动检测的方法

一种基于肌电信号运动起点、波峰、终点实时自动检测的方法 (⊙o⊙)…,这篇是我写收费文章的第一篇。咱也尝试下知识付费,哈哈。 先看下效果,在给定理想正弦波的情况下,可以准确识别到正弦波的起点、波峰和终点。机器实拍图如下。 因为我的实际环境没有专利里面那么复杂,所…

Android 蓝牙开发——基础开发(三)

蓝牙开发这部分主要以 APP 端调用功能接口为开始&#xff0c;到 Framework 端的调用流程&#xff0c;最后到调用状态机结束&#xff0c;不涉及蓝牙协议栈的开发分析。 一、BluetoothAdapter 1、APP获取适配器 蓝牙权限 <mainifest><uses-permission android:name&…

3.ESP32-S2/S3 USB 挂载SPI-SD,当作U盘使用,无线U盘

使用的 IDF_4.4 C语言开发 1.ESP32-S2/S3 USB烧录 输出日志 2.ESP32-S2/S3 USB 挂载内部Flash&#xff0c;当作U盘使用&#xff0c;无线U盘 3.ESP32-S2/S3 USB 挂载SPI-SD&#xff0c;当作U盘使用&#xff0c;无线U盘 目录1.打开 usb_msc_wireless_disk 工程 Confinguration2.…

数学建模-数学规划(Matlab)

目录 一、线性规划求解 二、非线性规划问题 三、整数规划&#xff08;包括0-1规划&#xff09; 四、最大最小化模型 五、多目标规划模型 注意&#xff1a;代码文件仅供参考&#xff0c;一定不要直接用于自己的数模论文中国赛对于论文的查重要求非常严格&#xff0c;代码雷同…

微服务Spring Boot 整合 Redis 实现 UV 数据统计

文章目录⛄引言一、HyperLoglog基础用法⛅HyperLoglog 基本语法、命令⚡HyperLoglog 命令完成功能实现二、UV统计 测试百万数据的统计☁️什么是UV统计⚡使用SpringBoot单元测试进行测试百万数据统计⛵小结⛄引言 本文参考黑马 点评项目 在各个项目中&#xff0c;我们都可能需…

DaVinci:限定器 - HSL

调色页面&#xff1a;限定器Color&#xff1a;Qualifier限定器 - HSL Qualifier - HSL根据色相、饱和度和亮度等来选择画面上的对应区域&#xff0c;从而将二级调色与修饰限制在一定的范围。选择范围Selection Range拾取器Picker在检视器画面上按住并拖动&#xff0c;可以选择相…

Linux FHS结构

FHS是Filesystem Hierarchy Standard&#xff08;文件系统层次化标准&#xff09;的缩写&#xff0c;多数Linux版本采用这种文件组织形式&#xff0c;类似于Windows操作系统中c盘的文件目录&#xff0c;FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构…

格式化输出

1、golang不同输出语句的区别&#xff1a; 特点PrintPrintlnPrintf输出内容到控制台&#xff08;终端输出&#xff09;SprintSprintlnSprintf输出内容为字符串FprintFprintlnFprintf输出内容到文件特点 输出内容不会换行。 不能格式化字符串。 输出内容换行,。 不能格式化字符…

【C语言进阶】枚举与联合体

目录一&#xff1a;枚举1.1&#xff1a;枚举类型的定义&#xff1a;1.1&#xff1a;枚举的优点&#xff1a;1.2&#xff1a;枚举的使用&#xff1a;二&#xff1a;联合&#xff08;共用体&#xff09;2.1&#xff1a;联合类型的定义&#xff1a;2.2&#xff1a;联合类型的特点&…

cin、cin.getline(arr, size)、getline(cin, str)

一、cin使用空白&#xff08;空格、制表符、换行符&#xff09;来确定字符串的截止位置 注意下方这段代码 使用cin来接收姓名和甜点名&#xff0c;当我的名字长度大于一个单词长度时&#xff0c;cin直接按空格进行接收&#xff0c;将我输入的xiao接收到name中&#xff0c;wei接…

swiftUI coreml deeplabv3去除背景

现在手机的性能越来越好&#xff0c;好多深度学习的框架都能能够跑在手机上。因此就集成一下一个官方的深度学习model试一下。 其他的框架生成的模型都能通过相应的工具转换成mlmodel用&#xff0c;转换也比较简单。 下面以替换图像去背景为例&#xff0c;不过官方模型这个效果…

概论_第3章_二维随机变量__边缘概率密度

边缘概率密度是二维随机变量中的重点内容&#xff0c; 经常作为一个重要的考点&#xff0c; 必须掌握。一 定义对二维随机变量(X, Y) ,分量X, 或者Y的概率密度称为 (X, Y)的边缘概率密度&#xff0c;简称边缘密度&#xff0c;记为 或者 。边缘密度 或者 可由 二维随机变量的密…