首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL存储过程_MySQL创建存储过程

什么是存储过程 存储过程就是事先经过编译并存储数据库中一段 SQL 语句集合; 为什么使用存储过程 调用存储过程可以简化应用开发人员很多工作,减少数据数据库和应用服务器之间传输,对于提高数据处理效率是有好处...([ 参数 ]); 调用上面的存储过程 call p1(); 3、查看存储过程 SHOW CREATE PROCEDURE 存储过程名称 ; -- 查询某个存储过程定义 4、删除存储过程 DROP...delimiter 指定SQL语句结束符 存储过程变量 在MySQL中,变量一般可分为分为三种类型: 系统变量、用户定义变量、局部变量; 一、系统变量 系统变量是MySQL服务器系统自身提供...循环语句在编程中经常被用到,常用于对批量数据进行循环处理,在mysql存储过程中,也提供了几种常用循环语句,包括:while循环,repeat循环,和loop循环; 1、while循环语句 while...,使用存储过程也可以完成,但是存储函数局限在于,函数必须要有返回结果; 八、存储过程中游标的使用 游标(CURSOR)是用来存储查询结果集数据类型 , 在存储过程和函数中可以使用游标对结果集进行循环处理

22.2K21
您找到你想要的搜索结果了吗?
是的
没有找到

Mysql存储过程

2.2、Mysql存储过程缺点   存储过程,往往定制化于特定数据库上,因为支持编程语言不同。当切换到其他厂商数据库系统时,需要重写原有的存储过程。   ...存储过程性能调校与撰写,受限于各种数据库系统。 3、存储过程创建和调用   存储过程就是具有名字一段代码,用来完成一个特定功能。   创建存储过程保存在数据数据字典中。...  解析:默认情况下,存储过程和默认数据库相关联,如果想指定存储过程创建在某个特定数据库下,那么在过程名前面加数据库名做前缀。...> DELIMITER ; 7、存储过程查询、修改、删除、调用控制 7.1、MySQL存储过程调用   用call和你过程名以及一个括号,括号里面根据需要,加入参数,参数包括输入参数、输出参数、输入输出参数...7.4、MySQL存储过程调用   删除一个存储过程比较简单,和删除表一样: 1 DROP PROCEDURE  从 MySQL 表格中删除一个或多个存储过程

6.7K10

mysql存储过程介绍、创建、案例、删除、查看「建议收藏」

存储过程 含义: 一组预先编译好sql语句集合,理解成批处理语句 好处: 1、提高代码重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器连接次数,提高了效率 一、创建语法....空参列表 案例: 要求:向boys表中插入数据 select * from boys; a.创建存储过程: delimiter $ create procedure mypro1() begin...1:根据女生名,返回对应男生名 (以mysql8.0版本为例,和mysql5.5调用时略有不同) a....out参数返回值,用mysql5.5版本 最后进行查看:select @bName,@usercp$ (mysql8.0,调用时不用使用自定义结束符号,mysql5.5需要使用自定义结束符号...,也就是调用之后,a,b返回值 select @c,@d d.结果:调用一次,翻倍一次 5.储存过程案例讲解 四、存储过程删除 ==一次只能删除一个储存过程名 == 语法: drop

1.5K20

mysql存储过程执行_mysql存储过程不执行

创建表 CREATE TABLE test(endtime DATETIME); 创建存储过程test CREATE PROCEDURE test () BEGIN update examinfo SET...实战mysql存储程序与定时器 存储过程定时器eventprocedure实战 需求:一个庞大日志表,现每天做定时统计一天总数,放另一个表中,方便查看,运营。...旧方案:用脚本写好程序,用linuxcrontab定时执行。 本文重点,用mysql定时器定时执行存储程序。...在两种计划任务中,时间戳可以是任意TIMESTAMP 和DATETIME 数据类型,时间戳需要大于当前时间。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

16.6K20

Mysql数据库-存储过程

Mysql数据库-存储过程 1. 存储过程和函数概述 1. 存储过程和函数是事先经过编译并存储数据库中一段SQL语句集合 a. 类似于java中方法: 是一段java代码集合 b....减少数据数据库和应用服务器之间传输,对于提高数据处理效率 java : 1....查看和删除存储过程 3.1 语法: -- 查询数据库中所有的存储过程 select * from mysql.proc where db='数据库名称'; -- 删除存储过程 drop procedure...[if exists] 存储过程名称; 3.2 实例: -- 查询数据库中所有的存储过程 select * from mysql.proc where db='db2'; -- 删除存储过程 drop...procedure if exists stu_group; 执行如下: -- 查询数据库 db2 中所有的存储过程 mysql> select * from mysql.proc where db

11K10

MySQLMySQL 存储过程

MySQL 存储过程(了解) 1 什么是存储过程 MySQL 5.0 版本开始支持存储过程 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用一种数据 库对象。...存储过程是为了完成特定功能SQL语句集,经编译创建并保存在数据库中,用户可通过 指定存储过程名字并给定参数(需要时)来调用执行。 简单理解: 存储过程其实就是一堆 SQL 语句合并。...,数据库交互更加快捷(应用服务器,与 数据库服务器不在同一个地区) 缺点:    在互联网行业中,大量使用MySQLMySQL存储过程与Oracle相比较弱,所以较少使用,并且互联网行业需求变化较快也是原因之一...CREATE PROCEDURE 存储过程名称(IN 参数名 参数类型) 2) 创建接收参数存储过程 需求: 接收一个商品id, 根据id删除数据 DELIMITER $$ CREATE PROCEDURE...# 删除 id为2商品 CALL goods_proc02(2) 方式3 1) 变量赋值 SET @变量名=值 2) OUT 输出参数:表示存储过程向调用者传出值 OUT 变量名 数据类型 3) 创建存储过程

16K10

MySQL 存储过程

1.1 简介 1.1.1 概述   MySQL 5.0 版本开始支持存储过程存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用一种数据库对象。...存储过程是为了完成特定功能 SQL 语句集,经编译创建并保存在数据库中,用户可通过指定存储过程名字并给定参数(需要时)来调用执行。...④ 存储过程可以用在数据检验,强制实行商业逻辑等。 ☞ 缺点  ① 存储过程,往往定制化于特定数据库上,因为支持编程语言不同。当切换到其他数据库系统时,需要重写原有的存储过程。  ...② 存储过程性能调校与撰写,受限于各种数据库系统。 1.1.3 阿里规约 ?...存储过程不能修改,只能先删除,然后重新创建 1.2.5 删除存储过程 ☞ 语法 # if exites 可以省略,但是不建议 drop procedure [if exists] 存储过程名称

13.3K31

MySQL存储过程

文章目录 创建/调用存储过程 存储过程体 为语句块贴标签 参数列表 存储过程优缺点 存储过程优点 存储过程缺点 存储过程和函数可以理解为一段sql集合,他们被事先编译好并且存储数据库中。...因为out是向调用者输出参数,不接收输入参数,所以存储过程p_out为null +-------+ | p_out | +-------+ | 2 | +-------+ mysql>...存储过程优缺点 存储过程优点 1.第一点优势就是执行速度快,因为我们每个sql语句执行都需要经过编译,然后在运行,但是存储过程都是直接编译好了之后直接运行即可 2.第二点优势就是减少网络流量,我们传输一个存储过程比我们传输大量...因为我们在写好一个存储过程之后,再次调用只需要一个名称即可,也就是一次编写,随处调用,而且使用存储过程也可以让程序模块化加强 存储过程缺点 1.移植性差。...因为存储过程是和数据库绑定,如果我们更换数据库之类操作,可能很多地方需要改动。 2.修改不方便。

10.1K30

MySQL存储过程

一、存储过程 1-1、含义:一组预先编译好SQL语句集合,理解成批处理语句 1、提高代码重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器连接次数,提高了效率 好处: 1、提高代码重用性...,begin end可以省略 存储过程体中每条sql语句结尾要求必须加分号。...存储过程结尾可以使用 delimiter 重新设置 语法: delimiter 结束标记 案例: delimiter $ 二、存储过程创建和使用语法 2-1、语法 CALL 存储过程名(实参列表);...INT) BEGIN SET a=a*2; SET b=b*2; END $ #调用 SET @m=10 SET @n=20 CALL gg(@m,@n) SELECT @m,@ 三、删除存储过程...语法:drop procedure 存储过程名 DROP PROCEDURE p1; #错误演示,不支持批量删除 DROP PROCEDURE p2,p3 四、查看存储过程信息 语法:show

8.8K10

MySQL 存储过程

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能SQL 语句集,它存储数据库中,一次编译后永久有效,用户通过指定存储过程名字并给出参数(如果该存储过程带有参数...存储过程数据库中一个重要对象。在数据量特别庞大情况下利用存储过程能达到倍速效率提升 一、存储过程概述 1.1、什么是存储过程 存储过程数据库中一个重要对象。...存储过程是在数据库系统中,一组为了完成特定功能SQL 语句集。存储过程存储数据库中,一次编译后,到处运行。不需要再次编译,用户通过指定存储过程名字并传递参数(如果该存储过程带有参数)来执行。...存储过程可以被重复使用。 存储过程只连接一次数据库,sql语句在访问多张表时,连接多次数据库。 存储程序是安全存储过程应用程序授予适当权限。...7.2、存储过程删除 格式: drop procedure 存储过程名; 案例: mysql> drop procedure emp_id; Query OK, 0 rows affected (0.02

37.1K20

MySQLMySQL存储过程(1)

目录 什么是存储过程 有哪些特性 入门案例 MySQL操作-变量定义 存储过程传参-in 存储过程传参-out 存储过程传参-inout 存储过程传参-in,out, inout 什么是存储过程 MySQL...简单说,存储过程就是一组SQL语句集,功能强大,可以 实现一些比较复杂逻辑功能,类似于JAVA语言中方法; 存储过就是数据库 SQL 语言层面的 代码封装与重用。...2:在该数据库下导入sql脚本:procedure_data.sql 操作-创建存储过程 delimiter $$ create procedure proc01() begin select empno...会话变量在每次建立一个新连接时 候,由MYSQL来初始化。MYSQL会将当前所有全局变量值复制一份。来做为会话变量。...-in,out, inout in 输入参数,意思说你参数要传到存过过程过程里面去,在存储过程中修改该参数值不能被 返回 out 输出参数:该值可在存储过程内部被改变,并向外输出 inout 输入输出参数

1.7K20

MySQL存储过程

(2)DELIMITER $用于改变MySQL分隔符,否则MySQL在回车情况下会按照默认分割符分号;将存储过程拆分,使其执行失败。...image.png (5)还有一个很苛刻地方就是,MySQL存储过程不能写在同一行。...这种变量要在变量名称前面加上“@”符号,这个变量可以在被调用存储过程或者代码之间共享数据,有点像CC++中局部static变量。具体例子可参考: MySQL存储过程——变量。...,删除等相关命令,与数据操作语句很相似,举例如下: --查看当前数据存储过程 show procedure status; --查看存储过程创建语句(\G表示以列形式展示结果) show create...procedure [procedureName] \G --删除存储过程 drop procedure [procedureName]; --如果存在则删除存储过程 drop procedure

11.3K10

mysql存储过程

1、存储过程 1)“存储过程和函数”:类似于java中方法,python中函数。...2)“使用存储过程好处”:   ① 提高代码重用性;   ② 简化操作;   ③ 减少了编译次数,并且减少了和数据库服务器连接次数,提高了效率。   ...注意:每执行一句sql语句,就会连接mysql服务器一次。 3)“存储过程含义”:一组预先编译好sQL语句集合。...3)delimiter定义存储过程结束标记   在mysql语句中,由于每一个语句后面必须要;结尾,而存储过程也需要一个符号结尾,为了防止混淆,我们需要在创建存储过程之前,先使用delimiter定义一个存储过程结束标记...12",now(),@result)$ select @result$ 效果如下: 8、存储过程删除 drop procedure 存储过程名; 9、查看某个存储过程信息 10、存储过程案例考核

11.6K10

MySQL存储过程

目录: 存储过程创建 概念 优点 创建 存储过程调用 存储过程演示 删除存储过程 查看存储过程 修改存储过程 存储过程创建 存储过程概念 存储过程是一组已经预先编译好SQL...存储过程优点 ① 提供了代码可重用性。 ② 简化了数据库操作,讲业务逻辑细节隐藏在存储过程中。 ③ 减少了编译次数,减少了网络IO次数,从而提高操作效率。...存储过程演示 无参存储过程 代码实例: 向b_user表中插入2条数据 #创建存储过程 delimiter $ create procedure pro_insert() begin insert into...;$ #调用存储过程 call pro_insert(); 创建带有in模式参数存储过程 代码实例: 用于向b_user表中插入2条数据,性别由客户输入 #创建存储过程 delimiter $ create...存储过程名称; 查看存储过程 语法: show create procedure 存储过程名称; 修改存储过程 目前,MySQL还不提供对已存在存储过程代码修改。

11.7K10

mysql存储过程

INTO [@PART](https://my.oschina.net/u/857680); -- 将提取结果带入游标 CLOSE LOOP_T; -- 关闭游标 在MySQL存储过程中经常会看到这句话...READS SQL DATA:表示子程序包含读数据语句,但不包含写数据语句。 MODIFIES SQL DATA:表示子程序包含写数据语句。...SQL SECURITY DEFINER:表示执行存储过程程序是由创建该存储过程用户权限来执行。...SQL SECURITY INVOKER:表示执行存储过程程序是由调用该存储过程用户权限来执行。...存储方法 存储方法与存储过程区别 1,存储方法参数列表只允许IN类型参数,而且没必要也不允许指定IN关键字 2,存储方法返回一个单一值,值类型在存储方法头部定义 3,存储方法可以在SQL语句内部调用

8.2K10

MySQL存储过程

文章目录 为什么使用存储过程 书写基本格式 关于参数 存储过程中开启事务 返回多个结果集 设置变量 存储过程:一段SQL语句集合 为什么使用存储过程 1、解耦合。...数据库部分可交由专门数据库管理人员去做,像前后端联合协作那样提供接口供后端调度。(这两天对后端开发又有了新理解:作为前端和数据库之间数据转接中间人。...几十上百个字节命令压缩成十几个字节,更不需要多次发送。可能一项业务,需要先插入、再修改、再删除、再查询返回结果,本来四条命令,谁来写先不说,这四条命令哪条单拎出来不比一条存储过程调用命令长。...但是存储过程只需要一次编译,多次运行。 4、提高系统安全性。存储过程可以使用权限控制,而且参数化存储过程可以有效防止注入攻击,保证了其安全性。 5、重用性强。一次编写,随处调用。...书写基本格式 create procedure 存储过程名(参数列表) begin 存储过程体 end 示例: delimiter $  #将语句结束符号从分号;临时改为$(可以是自定义) create

7.9K30
领券