MySQL深度学习

存储过程

也可以说是存储程序,是一条或者多条SQL语句的集合,可视为批处理

https://www.cnblogs.com/mark-chan/p/5384139.html(特别详细)

语法如下delimiter //

create procedure 存储过程名称(参数列表)

begin

sql语句

end

//

delimiter ;

说明:delimiter用于设置分割符,默认为分号在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符

示例要求:创建查询过程,查询学生信息

step1:设置分割符

delimiter //

step2:创建存储过程

create procedure proc_stu()

begin

select * from students;

end

//

step3:

还原分割符

delimiter ;

示例:

MySQL深度学习_第1张图片

call sp_name(参数),这是调用存储过程的语句

mysql> select name from mysql.proc where db='testdb';查看数据库testdb的存储过程的名字(还可以查看其它的)。

drop procedure pro_stu;删除存储过程

创建函数

语法如下
delimiter $$
create function 函数名称(参数列表) returns 返回类型
begin
sql语句
end
$$
delimiter ;
说明:delimiter用于设置分割符,默认为分号
在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建

存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符
示例

要求:创建函数py_trim,用于删除字符串左右两侧的空格

step1:设置分割符
delimiter $$

step2:创建函数
create function py_trim(str varchar(100)) returns varchar(100)
begin
declare x varchar(100);
set x=ltrim(rtrim(str));
return x;
end
$$

step3:还原分割符

delimiter ;

查看python数据库中的函数:select name,type from mysql.proc where db='python';

示例要求:调用自定义函数py_trimselect py_trim(' a ');

删除函数:drop function py_trim;

详细请看:

https://blog.csdn.net/u014745194/article/details/72636911?utm_source=itdadao&utm_medium=referral

你可能感兴趣的:(MySQL深度学习)