当前位置:网站首页>存储过程的介绍与基本使用
存储过程的介绍与基本使用
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;
边栏推荐
- File operation command
- MongoDB 遇见 spark(进行整合)
- 国泰君安证券开户怎么开的?开户安全吗?
- 达晨与小米投的凌云光上市:市值153亿 为机器植入眼睛和大脑
- How to continue after handling chain interruption / sub chain error removed from scheduling
- PAcP learning note 3: pcap method description
- RecyclerView的数据刷新
- HZOJ #235. Recursive implementation of exponential enumeration
- COSCon'22 社区召集令来啦!Open the World,邀请所有社区一起拥抱开源,打开新世界~
- 企业级自定义表单引擎解决方案(十二)--体验代码目录结构
猜你喜欢
飞桨EasyDL实操范例:工业零件划痕自动识别
自定义线程池拒绝策略
Practical example of propeller easydl: automatic scratch recognition of industrial parts
达晨与小米投的凌云光上市:市值153亿 为机器植入眼睛和大脑
About how appium closes apps (resolved)
单片机原理期末复习笔记
Adopt a cow to sprint A shares: it plans to raise 1.85 billion yuan, and Xu Xiaobo holds nearly 40%
ESP32构解工程添加组件
[learning notes] agc010
How to continue after handling chain interruption / sub chain error removed from scheduling
随机推荐
Awk of three swordsmen in text processing
MongoDB复制(副本集)总结
Sample chapter of "uncover the secrets of asp.net core 6 framework" [200 pages /5 chapters]
JS缓动动画原理教学(超细节)
[learning notes] agc010
飞桨EasyDL实操范例:工业零件划痕自动识别
MongoDB 遇见 spark(进行整合)
About how appium closes apps (resolved)
【学习笔记】AGC010
What kind of methods or functions can you view the laravel version of a project?
人均瑞数系列,瑞数 4 代 JS 逆向分析
【无标题】
分屏bug 小记
ORACLE进阶(五)SCHEMA解惑
How to continue after handling chain interruption / sub chain error removed from scheduling
JS中为什么基础数据类型可以调用方法
.Net下極限生產力之efcore分錶分庫全自動化遷移CodeFirst
测试下摘要
CMU15445 (Fall 2019) 之 Project#2 - Hash Table 详解
线程池拒绝策略最佳实践