储存过程(自用)

本文详细介绍了存储过程的概念及其在数据库中的应用。包括存储过程的创建、调用、删除等操作,以及变量的使用方法。探讨了存储过程的优点,如提高执行速度、方便复用和增强安全性等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储过程:一组为了完成某个特定功能的SQL语句集。
什么是储存过程:
存储过程是一个可编程的函数,在数据库中保存并创建。
由sql语句和一些特殊控制结构组成。
当需要在不同应用或者平台上执行相同的函数,后者封装特定的功能时,存储过程就非常有用。
数据库中的存储过程可以看做是对偏差中对象方法的模拟。
允许控制数据的方式访问。

优点:
1、存储过程执行速度较快。只需要编译一次。
2、存储过程可以重复使用。
3、存储过程可以用流程控制语句编写,灵活,可以完成复杂的判断和运算。
4、安全性高,可设定只有一些用户才具有对指定存储过程的使用权。
5、存储过程能减少网络流量。

存储过程书写

create procedure 存储过程名称(参数列表)
begin
内容
end

修改结束标识符:delimiter
查看某个数据库下的存储过程:show procedure status where db=数据库名称
调用存储过程:call 存储过程名称
删除存储过程:drop procedure 存储过程名称

存储过程的变量

局部变量:使用declare声明,可以使用default来说明默认值
作用范围:begin-end语句块之间有效

用户变量:使用 @开始,形式为“@变量名”
作用范围:用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。当当前连接断开后,其所定义的用户变量都会消失。

会话变量:
(@@session.)
会话变量又称为session变量,会话变量的作用范围与用户变量一样,在当前连接。当连接断开后,所有的会话变量都被销毁。

全局变量:
(@@global.)
全局变量不是由用户的程序定义的,而是在服务器级定义的。当服务器启动时,将所有全局变量初始化。全局变量作用于服务器的整个生命周期。只有具有super权限才可以设置全局变量。

变量set语句(赋值)
set 变量名字 := 值;
select into 语句把选定的列值直接存储到变量中,只有单一的行可以被取回。
写法:select 列名1,列名2,…列名N into 变量1,变量2,…变量N
from 表名 where 过滤条件

参数类型

in 输入参数(默认)
out 输出参数
inout 输入输出参数

msql数据类型	
tinyint			
smallint
int(★)
bigint
varchar(★)|char
	varchar:可变长度 mysql的方言  varchar(20):  存放abc 只会占用三个
	char:固定长度 char(20) 存放abc 占用20个
float|double
	注意:double(5,2):该小数长度为5个,小数占2个  最大值:999.99
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值