当前位置:网站首页>存储过程的介绍与基本使用
存储过程的介绍与基本使用
2022-07-07 11:19:00 【汤键.TJ】
目录
介绍
- 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合
好处:
- 提高代码的复用性
- 减少数据在数据库和应用服务器之间的传输,提高效率
- (对于数据库来说,后期要定义在一台或多台服务器上,后面再传输的话肯定会影响效率)
- 减少代码层面的业务处理
存储过程和函数的区别(几乎没有区别)
- 存储函数必须有返回值
- 存储过程可以没有返回值
创建和调用存储过程
创建存储过程
- -- 修改结束分隔符
- delimiter $
- -- 创建存储过程
- create procedure 存储过程名称(参数列表)
- begin
- SQL语句列表
- end$
- -- 修改结束分隔符
- delimiter ;
调用存储过程
- call 存储过程名称(实际参数)
实例演示
数据准备
-- 创建学生表 CREATE TABLE student( id INT PRIMARY KEY auto_increment, -- 学生id name VARCHAR(20), -- 学生姓名 age INT, -- 学生年龄 gender VARCHAR(5), -- 学生性别 score INT -- 学生成绩 ); -- 添加数据 INSERT INTO student VALUES (NULL,'张三',23,'男',95),(NULL,'李四',24,'男',98),(NULL,'王五',25,'女',100),(NULL,'赵六',26,'女',90);
创建和调用存储过程
-- 创建stu_group()存储过程,封装 分组查询总成绩,并按照总成绩升序排序的功能 delimiter $ CREATE PROCEDURE stu_group() BEGIN SELECT gender,SUM(score) getsum FROM student GROUP BY gender ORDER BY getsum ASC; END$ delimiter ;
-- 调用stu_group()存储过程 CALL stu_group;
存储过程的查看和删除
查看数据库中所有的存储过程
- select * from mysql.proc where db='数据库名称'
删除存储过程
- drop procedure [if exists] 存储过程名称
实例操作
-- 查看dp1数据库中所有的存储过程 SELECT * FROM mysql.proc WHERE db='dp1';
-- 删除存储过程 DROP PROCEDURE IF EXISTS stu_group;
边栏推荐
- 【无标题】
- 详细介绍六种开源协议(程序员须知)
- “新红旗杯”桌面应用创意大赛2022
- 将数学公式在el-table里面展示出来
- JS判断一个对象是否为空
- Smart cloud health listed: with a market value of HK $15billion, SIG Jingwei and Jingxin fund are shareholders
- What kind of methods or functions can you view the laravel version of a project?
- shell 批量文件名(不含扩展名)小写改大写
- 红杉中国完成新一期90亿美元基金募集
- @What is the difference between resource and @autowired?
猜你喜欢
Milkdown 控件图标
leecode3. 无重复字符的最长子串
Go语言学习笔记-结构体(Struct)
Practical example of propeller easydl: automatic scratch recognition of industrial parts
[learning notes] agc010
人均瑞数系列,瑞数 4 代 JS 逆向分析
About how appium closes apps (resolved)
为租客提供帮助
Practical example of propeller easydl: automatic scratch recognition of industrial parts
滑轨步进电机调试(全国海洋航行器大赛)(STM32主控)
随机推荐
Grep of three swordsmen in text processing
[untitled]
Smart cloud health listed: with a market value of HK $15billion, SIG Jingwei and Jingxin fund are shareholders
【Presto Profile系列】Timeline使用
JNA学习笔记一:概念
Go语言学习笔记-结构体(Struct)
Pcap learning notes II: pcap4j source code Notes
Practical example of propeller easydl: automatic scratch recognition of industrial parts
MySQL入门尝鲜
What if the xshell evaluation period has expired
.Net下極限生產力之efcore分錶分庫全自動化遷移CodeFirst
详细介绍六种开源协议(程序员须知)
AUTOCAD——大于180度的角度标注、CAD直径符号怎么输入?
事务的七种传播行为
国泰君安证券开户怎么开的?开户安全吗?
ESP32系列专栏
Scrapy教程经典实战【新概念英语】
如何让electorn打开的新窗口在window任务栏上面
PAcP learning note 3: pcap method description
HZOJ #236. Recursive implementation of combinatorial enumeration