小俊的Mysql笔记 day17

Posted 西京数据分析与商业智能

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小俊的Mysql笔记 day17相关的知识,希望对你有一定的参考价值。

存储过程的创建与使用

01
存储的创建
可以通过以下语法创建存储过程:
CREATE PROCEDURE 存储过程名称( 参数的种类1 参数1 数据类型1 [,参数的种类2 参数2 数据类型2]) BEGIN 处理内容 END
存储过程的名称可以自由定义,但不可与存在的函数或存储过程名称重复,命名时建议以【sp_】开头,需要处理的内容则编辑在BEGIN和END之间。


参数的种类分为3种,分别是IN、OUT、INOUT,其中IN为输入参数类型,OUT为输出参数类型,而INOUT既是输入类型又是输出类型。



02
存储的使用
下面我们创建一个存储过程,以达到对user表的用户名称进行模糊查询的目的,存储过程名称为sp_search_user:
-- 改变分隔符DELIMITER //-- 创建存储过程mysql> create procedure sp_search_user (in name varchar(20)); -> begin -> if name is null or name='' then -> select * from user; -> else -> select * from user where username like name; -> end if; -> end -> // -- 执行sqlQuery OK, 0 rows affected (0.01 sec)
mysql> DELIMITER; -- 恢复分隔符
其中DELIMITER可以用于改变分隔符,由于存储过程中流程语句需要使用分号结尾与mysql命令行的sql语句结尾的分号冲突,于是改变分隔符为//,执行完存储过程后再恢复为分号即可。
小俊的Mysql笔记 day17
从存储过程创建语句中,我们设置一个name的输出参数语句并在begin与end之间编写了流程语句,当名称为空时查询所有用户否则按传入的条件查询。现在可以使用该存储过程了,调用语法如下:
CALL 存储过程名称(参数,....)

执行已创建存储函数
-- name传入null值,查询所有用户

-- 查询以name以任开头的用户mysql> call sp_search_user('任%');

以上是关于小俊的Mysql笔记 day17的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题笔记-数据结构-day17

[code] PTA 胡凡算法笔记 DAY039

崔希凡JavaWeb笔记day19-day21(10月4日17:38:58)

day17-20180510笔记

自学it18大数据笔记-第一阶段Java-day16-day17-day18-day19--day20-day21-day22——会持续更新

S20_DAY17--课堂笔记