数据库基础知识——存储过程和函数

文章目录

    • 1.存储过程
      • 1.1 创建存储过程
      • 1.2 调用存储过程
      • 1.3 删除存储过程
      • 1.4 查看存储过程
    • 2.函数
      • 2.1 创建函数
      • 2.2 调用函数
      • 2.3 函数的删除和查看
      • 2.4 函数和存储过程的区别

1.存储过程

含义:一组经过预先编译的sql语句的集合
好处:

1、提高了sql语句的重用性,减少了开发程序员的压力
2、提高了效率
3、减少了传输次数

分类:

1、无返回无参
2、仅仅带in类型,无返回有参
3、仅仅带out类型,有返回无参
4、既带in又带out,有返回有参
5、带inout,有返回有参
注意:in、out、inout都可以在一个存储过程中带多个

1.1 创建存储过程

语法:

create procedure 存储过程名(in|out|inout 参数名  参数类型,...)
begin存储过程体end

注意

1、需要设置新的结束标记
delimiter 新的结束标记
示例:
delimiter $CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名  参数类型,...)
BEGINsql语句1;sql语句2;END $2、存储过程体中可以有多条sql语句,如果仅仅一条sql语句,则可以省略begin end3、参数前面的符号的意思
in:该参数只能作为输入 (该参数不能做返回值)
out:该参数只能作为输出(该参数只能做返回值)
inout:既能做输入又能做输出

1.2 调用存储过程

call 存储过程名(实参列表)
#1.存储过程实现在admin表中插入五条记录
create procedure mypl()
begin insert into admin(username,password)value("zhaoxr",1234),("lili",3728),("caocao",23902),("sasha",89023),("fang",82021);
end;call mypl();#2.输入女神名字,查找她对应的男朋友
create procedure mypl2(in beautyname varchar(20))
beginselect boys.boyNamefrom boysjoin beautyon beauty.boyfriend_id=boys.idwhere beauty.name=beautyname;
end;
call mypl2("小昭");

1.3 删除存储过程

drop procedure 存储过程名 

1.4 查看存储过程

show create procedure 存储过程名

2.函数

2.1 创建函数

学过的函数:LENGTH、SUBSTR、CONCAT等
语法:

	CREATE FUNCTION 函数名(参数名 参数类型,...) RETURNS 返回类型BEGIN函数体END

2.2 调用函数

SELECT 函数名(实参列表)

2.3 函数的删除和查看

#删除
drop function 函数名
#查看
show create function 函数名

2.4 函数和存储过程的区别

关键字调用语法返回值应用场景
函数FUNCTION SELECT 函数()只能是一个一般用于查询结果为一个值并返回时,当有返回值而且仅仅一个
存储过程PROCEDURE CALL 存储过程()可以有0个或多个一般用于更新

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

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

相关文章

为什么数学家、统计学家和机器学习专家会用不同方式解决问题?

来源:数学建模andMATLAB原文作者:Nir Kaldero翻译:Fibears原文链接: http://www.galvanize.com/blog/2015/08/26/why-a-mathematician-statistician-machine-learner-solve-the-same-problem-differently-2/#.VeUQMNOqoVU乍一看,机…

Bing每日壁纸API分享

CSS中设置背景图片 可以使用此API直接在CSS中设置背景图片: background-image: url(https://bing.biturl.top/?resolution1920&formatimage&index0&mktzh-CN); background-size: 100%; background-repeat: no-repeat;演示地址:http://my.mojxtang.com/…

数据库基础知识——流程控制结构

文章目录1.分支1.1 if函数1.2 case语句1.3 if elseif语句2. 循环1.分支 1.1 if函数 语法:if(条件,值1,值2) 特点:可以用在任何位置1.2 case语句 语法: 情况一:类似于switch case 表达式 when 值1 then …

搭建Java开发环境及相关工具

1、JDK安装及环境配置 此处安装JDK1.8的版本,官方下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择window64位的,具体的安装步骤和环境配置可参考: https://blog.csdn.net/…

眼耳鼻舌身意,严肃地聊一聊元宇宙的“技术拼图”

来源:脑极体元宇宙太太太火了,以至于还没来得及认真聊一聊技术本身,各种炒房团、割韭菜、融资潮、付费课……就纷至沓来,我看不懂但大受震撼。吃多了瓜,颇有一种“累了毁灭吧”的虚无感。不过,元宇宙的技术…

数据库高级知识——mysql架构介绍(一)

文章目录1.MySQL简介1.1 概述1.2 Mysql高级2.Mysql Linux版的安装2.1 MySQL下载官网2.2 安装与卸载2.3 查看MySQL安装版本2.4 mysql服务的启停2.5 登录mysql2.6 设置开机自启动2.7 MySQL相关文件2.8 修改字符集3.Mysql配置文件3.1二进制日志log-bin3.2 错误日志log-error3.3 慢…

美国大胆预测:未来300年的人类竟然是这样的!

来源:云犀科技编辑:小艾 关于未来,人们越来越向往300年后人类社会的发展又会是什么样子呢?对于未来,大家又是怎么预测的呢?▼5年后▼三维全息虚拟技术正式大规模商用,可以通过VR、AR技术进行远程…

数据库高级知识——mysql架构介绍(二)

文章目录1.Mysql逻辑架构介绍1.1 总体概览1.2 查询说明2.Mysql存储引擎2.1 查看命令2.2 各个引擎简介2.3 MyISAM和InnoDB2.4 阿里巴巴、淘宝用哪个1.Mysql逻辑架构介绍 1.1 总体概览 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中…

Linux或者Mac解压乱码问题

1、unar : 命令行解压工具 2、安装: ubuntu等Linux安装方法:sudo apt install unar mac系统安装方法:brew install unar 现在mac电脑用 The Unarchiver 解压也不会出现乱码 3、使用方法:unar filename.zip 转载于:https://www.cnb…

联邦学习应用思考:需求还是方法?

来源:AI数据派前言:目前,“联邦学习”这个术语在市场上存在很多认识上的误解和混淆,主要原因是其既在广义上表达了保护数据前提下联合多方数据训练模型的需求,又在狭义上表示了一类通过暴露部分数据信息来提升训练性能…

数据库高级知识——索引优化分析(一)

文章目录1.SQL性能下降原因2.常见通用的Join查询2.1 SQL执行顺序2.2 Join图3.索引简介3.1 索引是什么3.2 索引优势3.3 索引劣势3.4 索引分类3.5 mysql索引结构3.6 哪些情况需要创建索引3.7 哪些情况不要创建索引1.SQL性能下降原因 查询数据过多 能不能拆,条件过滤…

使用C++代码打印数字正方形

使用C代码打印数字正方形 作为一名初学者,最近在跟着网课学习C程序设计基础。在学习过程中遇到了一些习题,我根据自己的理解和思路写了一些代码实现,算是对自己学习过程的一个记录,也希望可以对别人有些许帮助。 题目描述 输入描述…

PNAS:大脑一思考,就不再对称也不再平衡

来源: 集智俱乐部作者:郭瑞东 审校:张澳 编辑:邓一雪 导语生命系统的各种功能,从精神层面的思考,到物理层面的运动,都会消耗能量并产生熵,打破原有的平衡。但不同的认知或物理活动&…

数据库高级知识——索引优化分析(二)

文章目录4.性能分析4.1 MySQL常见瓶颈4.2 Explain5.查询优化5.1 索引失效5.2 索引优化4.性能分析 4.1 MySQL常见瓶颈 CPU :SQL中对大量数据进行比较、关联、排序、分组 IO:实例内存满足不了缓存数据或排序等需要,导致产生大量 物理 IO。查询执行效率低…

《经济学人》:2022年值得关注的22项新兴技术

来源:参考消息网英国《经济学人》网站11月8日发表题为《下一个是什么?2022年值得关注的22项新兴技术》的文章。在文章列举的22项新技术中,既有今年大热的“元宇宙”、太空旅游、脑机接口,也有备受期待的量子计算、艾滋病病毒疫苗……

数据库高级知识——查询截取分析(一)

文章目录1.慢查询日志1.1 慢查询日志是什么1.2 慢查询日志的操作1.3 日志分析工具mysqldumpslow2.批量数据脚本1.慢查询日志 1.1 慢查询日志是什么 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句, 具体指运行…

Git missing Change-Id in commit message footer解决方法

Git missing Change-Id in commit message footer解决方法在Git向服务器提交代码时,出现如下错误missing Change-Id in commit message footer1原因:项目仓库.git/hooks目录下,commit-msg文件缺失。解决方法1:一般在提交代码报错时…

数据库高级知识——查询截取分析(二)

文章目录3.Show Profile3.1 show profile是什么3.2 分析步骤4.全局查询日志4.1配置启用4.2编码启用3.Show Profile 3.1 show profile是什么 show profile是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量 默认情况下,参数处于关…

郭瑞东 | 如何制造更聪明的人工智能?让人工生命在复杂环境中进化

来源:集智俱乐部作者:郭瑞东我们都知道大脑是控制身体的中枢,或者夸张点说,身体只是大脑的傀儡。然而事实果真如此吗?认知科学指出,人类并不总是“先知后行”,很多时候也会“先行后知”,身体在塑造精神方面…

移位运算

有无符号数差异: 左移只有逻辑左移,即低位依次补:0; 右移: 无符号数 逻辑右移(高位依次补:0) 有符号数 算术右移(高位依次补:最高符号位) 当…