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%的人还看了以下文章

  • 单元测试环境、过程及任务,单元测试快速入门教程二

    单元测试环境及过程 单元测试环境 单元测试环境的建立是单元测试工作进行的前提和基础,在测试过程中起到的作用不言而喻。单元测试环境并不一定是系统投入使用后所需的真实环境,可采用模拟环境。 由于一个模块或一个方法(Method)不是一个独立的程序,在测试时要考虑它和外界的联系,因此要用到一些辅助模块来模拟与所测模块相联系的其它模块。辅助模块分两种: 驱动模块:相…

    2018年4月16日
    12.2K0
  • HTML5- Canvas入门(一)画线

    canvas是一个H5的标签: <canvas> </canvas> canvas本身没有任何的绘图能力,所有的绘图工作都是通过js来实现的。通常我们在js通过getElementById来获取要操作的canvas(这意味着咱得给canvas设个id): <canvas id=”myCanvas”></canvas&…

    2022年7月9日
    8.3K0
  • 精典Arduino入门小项目-手机APP控制LED灯

    本文主要介绍了一个典型的Arduino入门小项目-手机APP控制LED灯,包括需要的硬件、软件(提供下载地址),源码,只需根据教程操作,就能做出一个完整项目!

    2023年2月3日
    9.5K0
  • myeclipse注册方法(在哪输入注册码?)

    知道了myeclipse注册码,在哪里输入? Subscriber:AdministratorSubscription Code:NLR8ZC-855550-68537056870845987 运行myeclipse  依次打开window—-preferences—-MyEclipse Enterprise Workbench&#8…

    2020年2月23日
    5.8K0
  • Ubuntu在线体验(不用安装) 

    Ubuntu是一个以桌面应用为主的Linux操作系统,是非常轻量级的操作系统,全球领先的用于个人电脑、平板及手机的操作系统。 想过要体验下Ubuntu,其实不用那么麻烦,在线就能体验该系统!! 在任意浏览器打开链接https://www.ubuntu.org.cn/tour/zh-CN/ (中文)、https://www.ubuntu.org.cn/tour…

    2022年9月1日
    18.8K0
  • 上机四 数据库访问技术

    上机四  数据库访问技术上机四  数据库访问技术上机四  数据库访问技术上机四  数据库访问技术

    2学时 一、数据库编程案例:读取数据库信息并显示 数据库员工信息表字段如下: 使用JDBC连接数据库,读取employee表中信息并显示到页面。 mysql驱动下载:mysql-connector-java-5.1.41-bin.zip 注意事项:将驱动程序mysql-connector-java-5.1.6-bin,拷贝到Web应用程序的WEB-INF\l…

    2018年10月16日 • 编程开发
    10.3K0

发表回复

登录后才能评论