MySQL存储过程快速入门

MySQL存储过程快速入门

  • 什么是存储过程
  • 创建一个简单的存储过程
  • 存储过程中的参数
  • 存储过程的优势和不足

一、什么是存储过程

存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。

一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。

存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能

MySQL 5.0开始支持存储过程,可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。

创建一个简单的存储过程

格式 :

MySQL存储过程创建的格式:

CREATE PROCEDURE 过程名 ([过程参数[,…]])
[特性 …] 过程体

这里先举个例子:

    mysql> DELIMITER //  
    mysql> CREATE PROCEDURE proc1(OUT s int)  
        -> BEGIN 
        -> SELECT COUNT(*) INTO s FROM user;  
        -> END 
        -> //  
    mysql> DELIMITER ;

注:

(1)这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以”;”为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将”;”当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。

(2)存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,类型是int型,如果有多个参数用”,”分割开。

(3)过程体的开始与结束使用BEGIN与END进行标识。

这样,我们的一个MySQL存储过程就完成了,是不是很容易呢?

再看一个简单的存储过程:

create procedure porcedureName () 
begin 
    select name from user; 
end;

存储过程用create procedure 创建, 业务逻辑和sql写在begin和end之间。mysql中可用call porcedureName ();来调用过程。

-- 调用过程 
call porcedureName ();

该存储过程没有参数, 只是在调用的时候查询了用户表的用户名而已, 调用结果如下

name
admin
admin1
admin2
admin3

删除存储过程

DROP PROCEDURE IF EXISTS porcedureName; -- 没有括号()

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2947.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年12月19日 上午10:01
下一篇 2018年12月20日 下午2:29

99%的人还看了以下文章

  • 手机上可以python编程吗,手机如何开发python

    想在手机上编写python代码? python语言应用很广泛,很多小伙伴想利用空闲时间学习Python,但是有时候身边没有电脑,今天就给大家分享两种手机编写运行python的方法,让你可以直接在自己的手机上做python开发学习。 一、直接在线编写运行(免安装) 手机通过浏览器打开 https://c.runoob.com/compile/9/ 推荐:★★★…

    2022年3月16日 编程开发
    7.6K0
  • JSP页面使用Servlet制作图形验证码

    本文给大家分享的是JSP验证码的制作,通过Servlet生成图形验证码,调用非常方便,希望对大家有所帮助。

    2022年12月1日
    1.1K0
  • 10秒倒计时、考试结束倒计时功能实现代码-JS

    注册成功或登录后网页会有倒计时,如5秒后跳转到哪个页面的功能。 在做一些在线测试,网上考试系统时,会用到倒计时功能。 如网上考试系统里,会有时间提示离考试结束还有多长时间,临近考试结束剩10分钟,还可以弹窗提示考生。 JavaScript实现倒计时功能代码 <!DOCTYPE html> <html> <head> &lt…

    2020年11月1日
    3.0K0
  • python 初学者练手上机实操七-列表、元组练习

    一、定义列表fruits 其中元素包[‘苹果’,’梨’,’香蕉’,’菠萝’,’草莓’,’桔子’,’橙子’,’木瓜’,’西瓜’,’哈密瓜’,’香瓜’,使用循环语句输出列表中的元素,但不输出菠萝。 要求: 1、新建一个“list.py”文件。 2、编写程序。 3、调试程序。 4、排除错误。 二、创建一个名称为list1的空列表 创建一个包含整形数据1,2,3的l…

    2023年6月15日
    9260
  • 最全!jsp连接各种数据库代码及读取数据实例

    有好多jsp初学者经常会问数据库怎么连接?我怎么连接不上数据库、语句怎么总是出错?所以中国网页设计写篇文章供大家参考,主要包括以下7种数据库的链接。 一、jsp连接MySQL数据库 二、jsp连接Sql Server7.0/2000数据库 三、jsp连接DB2数据库 四、jsp连接Informix数据库 五、jsp连接Sybase数据库 六、jsp连接Pos…

    2020年12月6日
    3.8K0
  • 精!HTML5调用手机拍照实现图片上传服务器,并将图片地址存进数据库(上)

    这篇文章主要为大家详细介绍了HTML5+Canvas+jquery技术,调用手机拍照功能实现图片上传。 不懂原理的新手,可以先学习:超清晰!HTML5 实现手机拍照上传功能原理讲解 上传页面用到了HTML5的file文件上传功能,再配合canvas。 实现流程 首先在前端把图片进行压缩,因为手机的不同,可能有的手机拍照给力,像素高,拍出来的图片的大小就相对大…

    2022年8月11日
    1.3K0

发表回复

登录后才能评论