目录
一、存储过程——介绍
(1)基本介绍
(2)基本特点
二、存储过程——语法
(1)基本语法
创建
调用
(2)实操(创建和调用)
1、创建一个叫 "p1" 的简单存储过程。
2、调用 "p1" 存储过程 。
(3)基本语法
查看
删除
(4)实操(查看和删除)
1、第一种方法查看
2、第二种方法查看
3、删除存储过程
一、存储过程——介绍
(1)基本介绍
存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合。调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输。对于提高数据处理的效率是有好处的。
存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。
其实就是将我们的数据库的sql语句进行一个封装(变成集合),封装后进行"重用"。当业务想要调用某一块SQL语句集合,就调用对应的存储过程就行了。
(2)基本特点
- 封装、复用
- 在存储过程中,是可以接收参数,也可以返回数据
(解释:我们定义一个存储过程,可以给这个存储过程传入对应的请求参数。当然在我们的存储过程把业务逻辑执行完了之后,也可以给我们 "调用方" 返回对应的结果)
- 通过存储过程,可以减少应用服务器和数据库之间的网络交互,访问效率提升。(作用)
大致了解完存储过程,就要学会如何定义、调用存储过程。
二、存储过程——语法
(1)基本语法
创建
CREATE PROCEDURE 存储过程名称 ( [ 参数列表 ] )
BEGIN
SQL语句
END;
注意
1、PROCEDURE (procedure:程序、步骤)。
2、存储过程的名称可以自由定义。
3、存储过程我们在定义的时候是可以指定它的输入参数、以及返回的参数信息。
4、begin ... end :里面就是这个存储过程里面封装的SQL语句(可以是一条或多条)。
5、所有存储过程的逻辑都是在 BEGIN ... END 之间定义的。
调用
(当我们的存储过程创建好了之后,想要调用就通过一个关键字:CALL)
CALL 名称 ( [ 参数 ] );
接下来通过 DataGrip 进行操作。
(2)实操(创建和调用)
1、创建一个叫 "p1" 的简单存储过程。
-- 创建一个简单的存储过程 CREATE PROCEDURE p1 () BEGIN /* 在这里面统一学生表的总记录数 */ SELECT COUNT(*) FROM student; end;
2、调用 "p1" 存储过程 。
(一旦调用了存储过程,就会执行封装的SQL语句的相关逻辑业务)
-- 调用存储过程 CALL p1();
(3)基本语法
查看
(查看存储过程有两种方式)
1、
- (当前数据库服务器里面所有的存储过程的信息)
- 是直接查看一张系统表(数据库:information_schema.routines(表) )
- WHERE 后面是跟着限定要查询的数据库名字(哪个数据库下的存储过程)
2、
- (查询指定的存储过程,在创建的时候的它的SQL语句是怎么样的)也就是查询某个存储过程的定义。
SHOW CREATE PROCEDURE 存储过程名称;
删除
- DROP PROCEDURE [ IF EXISTS ] 存储过程名称;
接下来通过 DataGrip 进行操作。
(4)实操(查看和删除)
1、第一种方法查看
-- 查看 SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA='itcast';
2、第二种方法查看
(存储过程在创建的时候它的SQL语句)
SHOW CREATE PROCEDURE p1;
3、删除存储过程
(删除表:DROP TABLE [IF EXISTS] 表名;)
(删除存储过程:DROP PROCEDURE ...)
-- 删除 DROP PROCEDURE p1;
这是这一篇博客所讲的关于——存储过程的创建、调用、查看以及如何删除。
温馨提示
- 在命令行中,执行创建存储过程的SQL时,需要通过关键字 delimiter 指定SQL语句的结束符。