我是靠谱客的博主 激动烤鸡,最近开发中收集的这篇文章主要介绍MySQL的存储过程以及关键字delimiter指定SQL语句的结束符前言:...正文:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

前言:...

正文:

概述

特点

基本语法

创建

调用

查看

删除

关键字delimiter解决命令行存储过程技术使用的错误


前言:...

在MySQL的使用时,可能会触及到经常使用一些特定SQL语句组合来调用MySQL中的一些数据,而经常使用一模一样的SQL调用语句会感到繁琐,这个时候MySQL就提供了存储过程技术简化调用过程,不过存储过程技术在命令行中的使用要注意结束符的影响,这个时候还需要使用到关键字delimiter。

正文:

概述

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

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

特点

  • 封装,复用

可以接收参数,也可以返回数据,减少网络交互,效率提升

基本语法

创建

CREATE PROCEDURE 存储过程名称 ([参数列表])  -- 参数可有可无的
BEGIN
     -- SQL语句
END;
-- eg:
create procedure p1()
begin
select * from student;
end;

调用

CALL 名称 ([参数]);
-- eg:
call p1();

查看

-- 查询指定数据库的存储过程及状态信息(xxx是数据库名)
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'xxx';
-- 查询某个存储过程的定义
SHOW CREATE PROCEDURE存储过程名称;
-- eg:
select * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'ith';
show create procedure p1;

删除

DROP PROCEDURE [IF EXISTS] 存储过程名称;
-- eg:
drop procedure if exists p1;

关键字delimiter解决命令行存储过程技术使用的错误

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

原因是因为在命令行执行存储过程语句时,会直接在第一个;处结束,而要实现存储过程要在end后面;处结束,所以要用到delimiter指定SQL语句的结束符

使用关键字delimiter如下

 

 使用完,我们可以重写使用关键字delimiter指定原来的;为结束符,不然后续每个SQL语句的结束符都是$$了

至此,本次学习结束,欢迎大家评论区留言或者关注私信,大家一起学习进步

最后

以上就是激动烤鸡为你收集整理的MySQL的存储过程以及关键字delimiter指定SQL语句的结束符前言:...正文:的全部内容,希望文章能够帮你解决MySQL的存储过程以及关键字delimiter指定SQL语句的结束符前言:...正文:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部