存储过程
好处
减少了传输次数,减少了链接创建次数。
分类
1、无返回无参
2、仅仅带in类型,无返回有参
3、仅仅带out类型,有返回无参
4、既带in又带out,有返回有参
5、带inout,有返回有参
创建
delimiter $
create procedure 存储过程名(in|out|inout 参数名 参数类型,...)
begin
存储过程体
end $
调用
call 存储过程名(实参列表)
删除与查看
DROP PROCEDURE 函数名;
SHOW CREATE PROCEDURE 函数名;
函数
学过的函数
学过的函数:LENGTH、SUBSTR、CONCAT等
创建函数
CREATE FUNCTION 函数名(参数名 参数类型,...) RETURNS 返回类型
BEGIN
函数体
END $
调用
select 函数名(参数列表)
删除与查看
DROP FUNCTION 函数名;
SHOW CREATE FUNCTION 函数名;
变量
系统变量
一、全局变量
查看所有全局变量
SHOW GLOBAL VARIABLES;
查看满足条件的部分系统变量
SHOW GLOBAL VARIABLES LIKE ‘%char%’;
查看指定的系统变量的值
SELECT @@global.autocommit;
为某个系统变量赋值
SET @@global.autocommit=0;
SET GLOBAL autocommit=0;
二、会话变量
查看所有会话变量
SHOW SESSION VARIABLES;
查看满足条件的部分会话变量
SHOW SESSION VARIABLES LIKE ‘%char%’;
查看指定的会话变量的值
SELECT @@autocommit;
SELECT @@session.tx_isolation;
为某个会话变量赋值
SET @@session.tx_isolation=‘read-uncommitted’;
SET SESSION tx_isolation=‘read-committed’;
自定义变量
一、用户变量
声明并初始化或者赋值
SET @变量名=值;
使用
select @变量名
二、局部变量(只能在begin end 里面使用)
声明:
declare 变量名 类型 【default 值】;
赋值
SET 变量名=值;
使用
select 变量名