请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 5972|回复: 6

Mysql自学 --存储过程

[复制链接]

25

主题

33

帖子

273

积分

中级会员

Rank: 3Rank: 3

积分
273
发表于 2020-1-16 19:56:12 | 显示全部楼层 |阅读模式
个人的一些学习总结,各位大牛给指正指正。
存储过程

存储过程的含义
一组预先编译好的sql语句的集合。
优点:
1、提高代码的重用性。
2、简化代码编写。
3、减少了编译次数和服务器的连接次数,提升了效率。
一、创建存储过程
格式
create procedure 存储过程名称(参数列表)
begin
存储过程体(一组sql语句)
end
注意点:
①参数包含三个部分:参数模式、参数名、参数类型
  1. #举例create procedure myp1(in stu_name varchar(20))begin        end
复制代码
②参数模式总共有三种
in:表示这个参数是入参,在调用这个过程的时候必须传入实际参数。
out:表示这个参数是输出参数,实际上这个参数就是过程的返回值。
inout:即是传入参数,又是输出参数。
③存储过程编写规则
——如果存储过程体只有一句sql,那么begin end 可以省略。
——存储过程体中的每一句sql语句必须结尾,必须使用;结束。
——必须标记其他符号作为结束符号,使用delimiter来标记。
#创建无参的存储过程
  1. #创建无参存储过程,往admin表中插入5笔数据。#将$作为结束符delimiter $;create procedure myp1()begin        insert into admin(username,password)        values('jhon','123'),        values('lucy','123'),        values('lili','123'),        values('tom','123'),        values('rose','123');end $
复制代码
#in模式 两个参数的存储过程
  1. -- -------------------带in模式 两个参数的存储过程------------------- #传入用户名和密码,显示用户是否登录成功 delimiter $; create procedure myp3(in user_name varchar(20),in pass_word varchar(20)) begin         declare result int;        #定义局部变量,接收查询结果         select count(*) into result          from admin          where username = user_name and password = pass_word;         #查看变量result的值,如果不为0,说明数据中有此用户,输入success         select if(result>0,'success','fail'); end $
复制代码
#带in、out模式参数的存储过程
  1. -- -------------------带out模式参数 的存储过程-------------------#传入用户名和密码,返回用户登录成功或失败的消息delimiter $;create procedure myp4(in user_name varchar(20), in pass_word varchar(20),out res varchar(10) )begin         declare result int;#定义局部变量,接收查询结果        SELECT COUNT(*) INTO result         FROM admin         WHERE username= user_name AND PASSWORD = pass_word;        SELECT IF(result>0,'success','fail') INTO res;end $
复制代码
二、调用存储过程
call 存储过程名称(参数列表)
  1.         #调用上建立的myq1存储过程        call myp1();        call myp3('tom','123');                #有返回参数        call myp4('rose','123',@result);        #查看返参数的值        select @result;
复制代码
三、删除存储过程
drop procedure 存储过程名称
  1. #删除单个drop procedure myp3;#删除多个drop procedure myp3,myp4;
复制代码
四、查看存储过程
show create procedure 存储过程名
  1. show create procedure myp3;
复制代码
                                                                                                                                       
                                                    
  • 点赞                        1                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        遇上Java的爱                                                                发布了5 篇原创文章 · 获赞 4 · 访问量 160                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:vacuum(analyze)
下一篇:DM达梦数据库表空间学习分享--lable1
回复

使用道具 举报

0

主题

4

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2020-1-18 16:26:28 | 显示全部楼层
这个帖子不回对不起自己![www.12360.co]
回复

使用道具 举报

0

主题

14

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
发表于 2020-1-22 22:41:31 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

23

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
发表于 2020-1-23 18:04:43 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

0

主题

12

帖子

262

积分

中级会员

Rank: 3Rank: 3

积分
262
发表于 2020-1-23 22:47:59 | 显示全部楼层
其实我一直觉得楼主的品味不错!呵呵![www.12360.co]
回复

使用道具 举报

0

主题

10

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2020-1-24 13:42:12 | 显示全部楼层
感谢楼主的无私分享![www.12360.co]
回复

使用道具 举报

0

主题

9

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2020-1-24 17:19:54 | 显示全部楼层
我看不错噢 谢谢楼主![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-18 04:57 , Processed in 0.221610 second(s), 34 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表