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

  • JSP制作后台登录页面:login.jsp

    设计数据库employee,manager表,字段:user_id (主键,自增1,int类型),user_name, password 创建数据源:employee_dsn 制作登录页面login.jsp 登录页面 login.jsp代码: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transition…

    2020年12月6日
    7.0K0
  • dao service view pojo utils tools都放什么? jsp的(MVC)三层架构入门

    java的(MVC)三层架构(dao、service、view) Java EE典型架构,分层的目的:高内聚,低耦合。 一般java都是三层架构   (还可加一个:工具类:util比如处理多语言功能,网站非法信息过滤等等功能的代码集); 三层架构体系,是逻辑上的三层,按照完成功能不同,所做事宜不同,将项目分为三个层次 1:数据访问层(dao) 2:业务逻辑层…

    2020年10月24日
    12.5K0
  • MXNet安装与常见问题解决:Encountered error while trying to install package

    MXNet安装与常见问题解决:Encountered error while trying to install packageMXNet安装与常见问题解决:Encountered error while trying to install packageMXNet安装与常见问题解决:Encountered error while trying to install packageMXNet安装与常见问题解决:Encountered error while trying to install package

    本文主要讲了什么是MXNet;如何在CPU、GPU上安装MXNet;以及对MXNet安装过程中出现的常见问题给出了具体的解决方法。

    2023年1月14日 编程开发
    11.6K0
  • Vim编辑器常用命令大全

    编辑和保存文件 vim filename为编辑一个文件,若此文件不存在,则Vim会以filename为名创建这个文件。 启动Vim时自动处于命令模式,按I键可以进入插入模式,这个命令用于在当前光标所在处插入字符。 保存和退出 命令 操作 :w 保存文件 :w filename 另存为filename :q 退出Vim :q! 强制退出Vim,用于放弃保存修改…

    2022年9月22日
    2.1K0
  • 第五章 JavaBean技术

    掌握:
    JavaBean的概念及规范
    JavaBean的创建与使用
    JavaBean属性的获取及修改
    getProperty:获取bean的属性值
    setProperty:设置bean的属性值

    2018年2月22日
    9.3K0
  • Ubuntu在线体验(不用安装) 

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

    2022年9月1日
    15.8K0

发表回复

登录后才能评论