linux 存储结构
存储过程是可以完成特点的一组sql语句完成功能。
目录
一、存储结构
二、实际操作
三、存储过程的参数
四、总结
一、存储结构
1.存储结构概述
MysQL数据库存储过程是一组为了完成特定功能的SQL语句的集合。
存储过程这个功能是从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时,只需要调用它即可。操作数据库的传统SQL语句在执行时需要先编译,然后再去执行,跟存储过程一对比,明显存储过程在执行上速度更快,效率更高。存储过程在数据库中创建并保存,它不仅仅是SQL语句的集合,还可以加入一些特殊的控制结构,也可以控制数据的访问方式。
2.优点
(1)执行一次后,会将生成的二进制代码驻留缓冲区,提高执行效率
(2)SQL语句加上控制语句的集合,灵活性高
(3)在服务器端存储,客户端调用时,降低网络负载
(4)可多次重复被调用,可随时修改,不影响客户端调用
(5)可完成所有的数据库操作,也可控制数据库的信息访问权限
3.存储过程应用
存储过程在数据库中L 创建并保存,它不仅仅是 SQ语句的集合,还可以加入一些特殊的控制结构,也可以控制数据的访问方式。存储过程的应用范围很广,例如封装特定的功能、 在不同的应用程序或平台上执行相同的函数等等。
4.触发器
二、实际操作
delimiter $$ #将语句的结束符号从分号;临时修改,以防出问题,可以自定义
create procedure ee(in inname varchar(16)) #创建存储过程,过程名自定义,()可带参数
begin #过程体以关键字BEGIN开始
select * from test1 where a_name='aaaa'; #过程体语句
end$$ #过程体以关键字END结尾
delimiter ; #将语句的结束符号恢复为分号
call ee('aaaa'); #调用存储过程
show create procedure XXX\G #查看某个储存过程的具体信息
1.创建存储过程

2.调用成功

3.查看存储过程

4.查看存储过程状态

5.查看指定存储过程信息

三、存储过程的参数
1.参数
IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)
OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)
INOUT 输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)
即表示调用者向过程传入值,又表示过程向调用者传出值(只能是变量)
2.实际操作


3.修改存储过程
alter procedure ff modifies sql data sql security invoker;
modifies sql data:表名子程序包含写程序的语句
security:安全等级
invoker:当定义为 invoker 时,只要执行者有执行权,就可以成功执行


4.删除存储过程

四、总结
MySQL存储过程是一组预编译的SQL语句集合,可以被调用和执行。存储过程可以完成复杂的数据处理、逻辑判断和业务流程控制等功能,提高了数据库的安全性和性能。MySQL存储过程具有以下特点:首先,存储过程可以减少网络流量,提高数据库性能;其次,存储过程可以在数据库内部实现复杂的业务逻辑,提高业务处理效率;此外,存储过程可以提高数据库的安全性,防止SQL注入等安全问题。MySQL存储过程可以通过命令行或可视化工具创建和调用,具有较高的灵活性和可维护性。在实际开发中,存储过程可以用于数据清洗、ETL、数据分析等场景,提高数据处理效率和数据质量。