【MySQL】存储过程

概念

存储过程和函数可以理解为一段sql的集合,他们被事先编译好并且存储在数据库中。在pascal语言中,是有过程和函数的区别的,过程可以理解为没有返回值得函数。不过在C语言总,则没有过程这个概念,统一为函数

创建存储过程

create procedure 存储过程名(参数列表)
begin
存储过程体
end

create procedure user_data()
begin
select * from table_a;
end;

调用存储过程

call user_data();

执行结果:
这就是一个简单的存储过程
【MySQL】存储过程

参数类型

在上边创建存储过程中,我们知道在user_data()里边可以携带参数的

解释参数

1.in 表示用来输入
2.out 表示用来输出
3.inout 可以用来输入也可以用来输出

携带参数的存储过程

先使用命令删除我们之前创建的user_data的存储过程

drop procedure user_data;

创建在带参数的存储过程

create procedure user_data(in id int)
begin
select * from table_a where id = id;
end

执行带参数的存储过程

【MySQL】存储过程

还可以直接输出我们需要字段

【MySQL】存储过程

设置变量

declare kaka varchar(225) default ‘我是咔咔’;

【MySQL】存储过程

存储过程中的常用数据类型

1.数值类型
int float double decimal(用于钱上)
2.日期类型
timestamp data year
3.字符串
char varchar text