MySQL之存储过程

(1)存储过程定义

存储过程:一组为了完成特定功能的SQL集合。它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

(2)存储过程的优点

①重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

②减少网络流量:存储过程存储在数据库服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,

因此降低了网络传输的数据量。

③安全性:参数化的存储过程可以防止SQL注入式攻击。

(3)创建存储过程

DELIMITER //
   create procedure <procedureName>(args1 args_type1,args2 args_type2...)
 begin
  ... 
 end;
    //
DELIMITER ;

分隔符
MySQL默认以";“为分隔符,如果没有声明分割符,则编译器会把存储过程当成SQL语句进行处理,因此编译过程会报错,所以要事先用“DELIMITER //”声明当前段分隔符,让编译器把两个”//"之间的内容当做存储过程的代码,不会执行这些代码;“DELIMITER ;”的意为把分隔符还原。

(4)删除存储过程

DROP PROCEDURE IF EXISTS procedureName;

(5)调用存储过程

CALL procedureName();

(6)使用存储过程进行数据制作

MySQL示范脚本

DELIMITER //    #"DELIMITER //”声明当前段分隔符,让编译器把两个"//"之间的内容当做存储过程的代码,而不是普通SQL
CREATE PROCEDURE procedureName()    #创建存储过程
BEGIN
  DECLARE num INT;
  SET num = 0;  #使用set进行变量赋值
  WHILE
    num < 5 DO
    INSERT INTO USER(NAME, pwd, info)
    VALUES(CONCAT("name", num),CONCAT("pwd", num),CONCAT("info", num));
    SET num = num + 1;
  END WHILE;
END; 
//    #存储过程结束字符
DELIMITER ;   //还原分隔符为;

CALL procedureName();    #设置好了存储过程要执行调用才生效
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值