Mysql--存储过程
存储过程
一、存储过程的定义
二、存储过程的优点
三、存储过程的使用
3.1 存储过程的创建和调用
3.2存储过程的查看和删除
一、存储过程的定义:
存储过程是一组为了完成特定功能的SQL语句集,存储在数据中,经过一次编译后再次调用不需要二次编译,可以理解为批处理语句。
二、优点
①提高了代码的重用性
②简化操作
③提高了数据的安全性
④提高了效率,极少了编译次数和数据库服务器的连接次数
三、存储过程的使用
3.1创建和调用
创建语法:
create procedure 存储过程名(参数列表)
begin
存储过程体(正确的SQL语句)
end
注:
1、参数列表包含三部分
参数模式 参数名 参数类型
举例:
in stuname varchar(20)
参数模式:
in:该参数可以作为输入,也就是该参数需要调用方传入值
out:该参数可以作为输出,也就是该参数可以作为返回值
inout:该参数既可以作为输入又可以作为输出,也就是该参数既需要传入值,又可以返回值
2、如果存储过程体仅仅只有一句话,begin end可以省略
存储过程体中的每条sql语句的结尾要求必须加分号。
存储过程的结尾可以使用 delimiter 重新设置
语法:
delimiter 结束标记
案例:
delimiter $
存储过程调用
call 存储过程名字 (实参列表);
案例(空参列表):插入3条数据到user表中
案例(带in的模式参数):根据beauty名,查询boys的名字
案例(带out的模式参数):判断用户是否是会员
案例(带inout的模式参数):传入a和b两个值,最终a和b都翻倍并返回
3.2存储过程的查看和删除
删除存储过程
语法:drop procedure 存储过程名
DROP PROCEDURE chen00;正确方式
DROP PROCEDURE chen00,chen02;错误方式
查看存储过程的信息
DESC myp2; 错误方式
SHOW CREATE PROCEDURE chen02;正确方式