阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL基础之存储过程

160次阅读
没有评论

共计 1228 个字符,预计需要花费 4 分钟才能阅读完成。

学过 MySQL 之后却没有总结,今天好不容易有点时间来看看。

存储过程的优势

1. 简化复杂的 SQL 语句,将多个 SQL 语句封装成为一个存储过程,可以在其中加上一些流程控制语句

2. 存储过程封装在数据库内部,编译之后直接调用,大大提高效率

3. 模块化编程,将一定功能的 SQL 语句封装,开发人员无需了解内部构造直接调用


创建存储过程(Stored Procedure)

delimiter //
    create proceduce sp_test(in id int,out num int )
    begin
    select sum(id) into num;
    end
    //
delimiter;

代码分析:

1. 首先 SQL 语句的结束标志改为 //,便于区分 SQL 语句的结束和存储过程的结束,不会出现混乱,用完之后记得还原。

2. 关于参数有三种类型,in,out,inout

3.select…into… 可以将数据通过 num 返回

4. 在内容中可以利用流程控制大大提升代码功能,之后会补充


查看存储过程

show proceduce status \G;

show create produce sp_test\G;
详细查看,可以看到具体过程中的代码内容

删除存储过程

drop procedure sp_test;

执行操作过程

call sp_test(1,@num);
将返回值存储在 num 变量中,在 out 型变量前加上 @
直接可以使用 select @num; 来查看具体的值

— 恢复内容结束 —

学过之后却没有总结,今天好不容易有点时间来看看。

 

存储过程的优势

1. 简化复杂的 SQL 语句,将多个 SQL 语句封装成为一个存储过程,可以在其中加上一些流程控制语句
2. 存储过程封装在数据库内部,编译之后直接调用,大大提高效率
3. 模块化编程,将一定功能的 SQL 语句封装,提高可读性


创建存储过程(Stored Procedure)

delimiter // create proceduce sp_test(in id int,out num int) begin select sum(id) into num; end // delimiter;

代码分析:

1. 首先 SQL 语句的结束标志改为 //,便于区分 SQL 语句的结束和存储过程的结束,不会出现混乱,用完之后记得还原。
2. 关于参数有三种类型,in,out,inout
3.select…into… 可以将数据通过 num 返回
4. 在内容中可以利用流程控制大大提升代码功能,之后会补充


查看存储过程

show proceduce status \G;

show create produce sp_test\G;
详细查看,可以看到具体过程中的代码内容

删除存储过程

drop procedure sp_test;

执行操作过程

call sp_test(1,@num);
将返回值存储在 num 变量中,在 out 型变量前加上 @
直接可以使用 select @num; 来查看具体的值

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139036.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1228字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中