1.局部变量
DECLARE varName varType [DEFAULT defVal]; #定义局部变量
SET 变量名=值;
SET @用户变量名=赋值; #定义用户变量
2.存储过程
delimiter $; #结束标识符
CREATE PROCEDURE 存储过程名(存储类型 变量名 类型,....)
BEGIN
存储过程
END $
#调用
CALL 存储过程名 $
#存储类型
#IN 参数
CREATE PROCEDURE intest(IN b_name VARCHAR)
BEGIN
SELECT *
FROM book
WHERE book.b_name = b_name;
END $
CALL intest $
#OUT 返回值
CREATE PROCEDURE outtest(IN b_id INT,OUT b_name VARCHAR)
BEGIN
SELECT book.b_name INTO b_name
FROM book
WHERE book.b_id = b_id;
END
CALL outtest$
SELECT @b_name$
#INOUT 是参数也是返回值
CREATE PROCEDURE inouttest(INOUT a INT)
BEGIN
set a = a*2;
END
CALL inouttest$
3.函数
#定义函数 注意有且仅有一个返回值
CREATE FUNCTION 方法名(参数名 参数类型,......) RETURNS 返回值类型
BEGIN
函数体
END 结束标识符
#使用
SELECT 函数名(参数)......
4.分支结构
分支
#if多分支
IF search_condition THEN
statement_list
ELSEIF search_condition THEN
statement_list
.......
ELSE
statement_list
END IF;
#case 情况一
CASE case_value
WHEN when_value THEN
statement_list
.........
ELSE
statement_list
END CASE;
#case情况二
CASE
WHEN when_value THEN
statement_list
.........
ELSE
statement_list
END CASE;
循环