Mysql的连接与存储

目录

一、mysql的连接查询

1、连接的分类:

1.1 内连接

1.2左连接

1.3 右连接

二、存储过程

1、简介

2、优点

3、语法

4、参数分类

5、带参数的存储过程

6、修改存储过程

7、删除存储过程

三、总结


一、mysql的连接查询

mysql的连接查询,通常都是来自两个或者多个表的记录结合起来,基于这些表之间的共同字段,进行数据的拼接。首先,先确定一个主表作为结果集,然后将其他表的行有选择性的连接到选定的主表结果集上,是使用比较多的。

1、连接的分类:

连接分为:

①内连接

②左连接

③右连接

1.1 内连接

内连接就是两张或者多张表中的同时符合某种条件的数据记录的组合。通常使用在from子句中使用关键字inner join 来连接多张表,并使用on来设置连接条件,内连接是系统默认的表连接,所以在from子句中可以省略inner关键字,只使用关键字join。同时有多个表的时候,也可以连续使用inner join来实现多表的内连接。

注意:为了更好的性能,以及更快的查询,建议最好不要超过2个表。

select 表名1.字段1,表名1.字段2 from 表名1 inner join 表名2 on 表名1.字段 = 表名2.字段;

内连查询:通过inner join的方式将两张表指定的相同字段的记录输出

1.2左连接

左连接也可以被称为左外连接,在from子句中使用left join或者left outer join关键字来表示。左连接以左侧表为基础表,接收左表的所有行,并用这些行与右侧参考表中的记录进行匹配,也就是说匹配左表中的所有行以及右表中符合条件的行。

左连接中左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方为null

1.3 右连接

右连接也被称为右外连接,在from子句中使用right join或者right outer join 关键字来表示。右连接跟左连接正好相反,它是以右表为基础表,用于接收右表中的所有行,并用这些记录与左表中的进行匹配。

二、存储过程

1、简介

MysQL数据库存储过程是一组为了完成特定功能的SQL语句的集合。

存储过程这个功能是从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。

存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时,只需要调用它即可。

操作数据库的传统SQL语句在执行时需要先编译,然后再去执行,跟存储过程一对比,明显存储过程在执行上速度更快,效率更高。存储过程在数据库中创建并保存,它不仅仅是SQL语句的集合,还可以加入一些特殊的控制结构,也可以控制数据的访问方式。
 

2、优点

①执行一次之后,会将生成二进制的代码驻留缓冲区,提高执行效率

②SQL语句加上控制语句的集合,灵活性高

③在服务器端储存,客户端调用时,降低网络负载

④可多次重复使用,可随时修改,不影响客户端调用

⑤可完成所有的数据库操作,也可控制数据库的信息访问权限

3、语法

create procedure <过程名> ([过程参数……]) <过程体>
[过程参数……] 格式
<过程名>:尽量避免与内置的函数或字段重名
<过程体>:语句
[in|out|inout] <参数名><类型>

4、参数分类

存储过程的主体部分,即过程

以begin开始,end结束,若只有一条sql语句,可省略begin和end

以delimiter开始和结束

5、带参数的存储过程

输入参数:in表示调用者向过程传入值(传入值可以是字面量或变量)

输出参数:out表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)

输入/输出参数:inout,即调用者向过程传入值,又表示过程向调用者传入值(只能是变量)

6、修改存储过程

alter procedure <过程名> [<特征>……]​
 
alter procedure ff modifies sql data sql security invoker;
 
modifies sql data:表名子程序包含写程序的语句
 
security:安全等级
 
invoker:当定义为 invoker 时,只要执行者有执行权,就可以成功执行

7、删除存储过程

drop procedure if exists ff;

三、总结

①内连接就是,左表右表的交集

②左连接就是,左边的全部以及右表中他们的交集

③右连接就是,右表的全部以及左表的他们的交集

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux:环境变量的特性及获取

目录 一、环境变量基本概念 1.1命令行参数 1.2常见环境变量 二、环境变量相关指令 创建本地变量 三、环境变量通常是具有全局属性的 一、环境变量基本概念 环境变量(environment variables)不是一个而是一堆&#xff0c;彼此之间其实没有关系。本质上是为了解决不同场景下…

【Java程序设计】【C00402】基于(JavaWeb)Springboot的新冠物资管理(含论文)

基于&#xff08;JavaWeb&#xff09;Springboot的新冠物资管理&#xff08;含论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千…

由浅到深认识Java语言(33):多线程

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

记一次 .NET某防伪验证系统 崩溃分析

一&#xff1a;背景 1. 讲故事 昨晚给训练营里面的一位朋友分析了一个程序崩溃的故障&#xff0c;因为看小伙子昨天在群里问了一天也没搞定&#xff0c;干脆自己亲自上阵吧&#xff0c;抓取的dump也是我极力推荐的用 procdump 注册 AEDebug 的方式&#xff0c;省去了很多沟通…

【Python BUG】CondaHTTPError解决记录

问题描述 CondaHTTPError: HTTP 429 TOO MANY REQUESTS for url https://mirrors.ustc.edu.cn/anaconda/pkgs/free/win-64/current_repodata.json Elapsed: 00:26.513315 解决方案 找到用户路径下的 .condarc文件&#xff0c;建议用这个方法前和我一样做个备份&#xff0c;方…

蛋糕店怎么弄一个微信小程序_开启蛋糕店新篇章

微信小程序&#xff0c;开启蛋糕店新篇章——甜蜜触手可及 在这个数字化、智能化的时代&#xff0c;微信小程序以其便捷、高效的特点&#xff0c;成为了众多商家与消费者之间的桥梁。对于蛋糕店而言&#xff0c;拥有一个专属的微信小程序&#xff0c;不仅可以提升品牌形象&…

家用超声波清洗机高端品牌推荐!4款值得入手的热门超声波清洗机

急着洗眼镜的朋友先不要慌&#xff0c;虽然洗眼镜是日常生活中最常见的操作&#xff0c;但是在清洗眼镜方面也是有讲究的&#xff0c;不是随随便便把眼镜擦一下就算清洁干净了&#xff01;因为我们拿眼镜布擦眼镜的时候&#xff0c;布料粗糙的微粒就会跟砂纸一样打磨着镜片&…

YOLOv5-小知识记录(一)

0. 写在前面 这篇博文主要是为了记录一下yolov5中的小的记忆点&#xff0c;方便自己查看和理解。 1. 完整过程 &#xff08;1&#xff09;Input阶段&#xff0c;图片需要经过数据增强Mosaic&#xff0c;并且初始化一组anchor预设&#xff1b; &#xff08;2&#xff09;特征提…

快递鸟物流轨迹地图API接口,包裹行程尽在掌握!

在快节奏的现代生活中&#xff0c;物流行业作为连接生产者与消费者的桥梁&#xff0c;其重要性不言而喻。随着电子商务的飞速发展&#xff0c;人们对物流信息的实时性和准确性要求越来越高。为了满足这一需求&#xff0c;快递鸟物流轨迹地图API应运而生&#xff0c;为广大用户提…

jsp将一个文本输入框改成下拉单选框,选项为字典表配置,通过后端查询

一&#xff0c;业务场景&#xff1a; 一个人员信息管理页面&#xff0c;原来有个最高学历是文本输入框&#xff0c;可以随意填写&#xff0c;现在业务想改成下拉单选框进行规范化&#xff0c;在专科及以下、本科、研究生三个选项中选择&#xff1b; 二&#xff0c;需要解决问…

职场中人如何做好时间管理提高工作效率?高效时间管理软件

在职场中&#xff0c;时间就是金钱&#xff0c;效率就是生命。面对繁杂的工作任务和紧迫的时间限制&#xff0c;做好时间管理显得尤为重要。只有合理规划时间&#xff0c;才能提高工作效率&#xff0c;从而在激烈的职场竞争中脱颖而出。 那么&#xff0c;职场中人如何做好时间…

mysql80-DBA数据库学习1-数据库安装

掌握能力 核心技能 核心技能 mysql部署 官网地址www.mysql.com 或者www.oracle.com https://dev.mysql.com/downloads/repo/yum/ Install the RPM you downloaded for your system, for example: yum install mysql80-community-release-{platform}-{version-number}.noarch…

大唐电信AC管理平台弱口令登录及信息泄露

大唐电信AC简介 大唐电信科技股份有限公司是电信科学技术研究院&#xff08;大唐电信科技产业集团&#xff09;控股的的高科技企业&#xff0c;大唐电信已形成集成电路设计、软件与应用、终端设计、移动互联网四大产业板块。 大唐电信AC集中管理平台存在弱口令及敏感信息泄漏漏…

如何在Windows通过eXtplorer结合cpolar搭建个人文件服务器并实现无公网ip远程访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

推特Twitter有直播功能吗?如何用Twitter直播?

现在各大直播平台已经成为社交媒体营销的一种重要渠道&#xff0c;它让品牌能够即时地与全球受众进行互动。据统计&#xff0c;直播市场正在迅速增长&#xff0c;预计到2028年将达到2230亿美元的规模。在这个不断扩张的市场中&#xff0c;许多社交媒体平台如YouTube、Facebook、…

【OS探秘】【虚拟化】【软件开发】【网络安全】在Windows11上安装Kali Linux虚拟机

一、所需原料 Windows 11主机、Oracle VM VirtualBox虚拟化平台、Kali Linux镜像文件 二、安装步骤 1、 在VBox管理器中&#xff0c;点击“新建”&#xff0c;进入向导模式&#xff0c;指定各个字段的值&#xff1a; 2、 安装完成&#xff0c;启动虚拟机&#xff1a; 3、 选择…

[linux初阶][vim-gcc-gdb] OneCharter: vim编辑器

一.vim编辑器基础 目录 一.vim编辑器基础 ①.vim的语法 ②vim的三种模式 ③三种模式的基本切换 ④各个模式下的一些操作 二.配置vim环境 ①手动配置(不推荐) ②自动配置(推荐) vim是vi的升级版,包含了更加丰富的功能. ①.vim的语法 vim [文件名] ②vim的三种模式 命令…

慧天[HTWATER]:采用CUDA框架实现耦合模型并行求解

慧天[HTWATER]软件简介 针对城市排水系统基础设施数据管理的需求&#xff0c;以及水文、水力及水质模拟对数据的需求&#xff0c;实现了以数据库方式对相应数据的存储。可以对分流制排水系统及合流制排水系统进行地表水文、管网水力、水质过程的模拟计算。可以对城市低影响开发…

CV论文--2024.3.28

1、Efficient Video Object Segmentation via Modulated Cross-Attention Memory 中文标题&#xff1a;通过调制交叉注意力记忆进行高效视频对象分割 简介&#xff1a;最近&#xff0c;基于Transformer的方法在半监督视频对象分割方面取得了出色的结果。然而&#xff0c;由于这…

【C++】手撕哈希表的闭散列和开散列

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;手撕哈希表的闭散列和开散列 > 毒鸡汤&#xff1a;谁不是一边受伤&#xff0c;一边学会坚强。 > 专栏选自&#xff1a;C嘎嘎进阶 > 望小伙伴们…