MySQL之存储过程简单入门(crud)

发布时间 2023-07-22 20:21:23作者: 镰刀战士

存储过程

介绍

存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。

存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

特点

封装、复用。

可以接收参数,也可以返回数据。

减少网络交互,效率提升。


基本操作

创建

 CREATE PROCEDURE 存储过程名称([ 参数列表 ])
 BEGIN
 -- SQL语句
 END ;

调用

 CALL 名称([ 参数 ]);

查看

 SELECT * FROM INFORMATION SCHEMA.ROUTINES WHERE ROUTINE SCHEMA = 'xxx';--查询指定数据库的存储过程及状态信息
 SHOW CREATE PROCEDURE 存储过程名称;-- 查询某个存储过程的定义

删除

 DROP,PROCEDURE [IF EXISTS] 存储过程名称;

实操

 -- 创建
 create procedure p1()
 begin
     select count(*) from student
 end;
 ​
 -- 调用
 call p1();
 ​
 -- 查看
 select * from information_schema.routines where routine_schema = 'itcast';
 ​
 show create procedure p1;
 ​
 -- 删除
 drop procedure if exists p1;

查看


注意:

在命令行中,执行创建存储过程的SQL时,需要通过关键字delimiter指定SQL语句的结束符。

比如:

 delimiter $$
 #此时$$是结束符
 如果再call p1();
 #SQL语句不会执行,因为$$是结束符
 #建议创建存储过程后就delimiter ;