- 创建
-- SQL的函数必须有返回值
-- create function 函数名称(参数列表) returns 返回类型
create function f1() returns int
return 10;
- 查看
-- 查看 mysql.proc
select db,name,type from mysql.proc;
- 调用
-- 调用 select f1();
- 删除
-- 删除函数
drop function f1;
delete from mysql.proc where name = 'xx';
- 变量
-- 临时修改
delimiter //
create function f1(a int,b int) returns int
begin
-- 定义一个变量 res
declare res int default 0;
-- 将 a + b的结果赋值给 res
set res = a + b;
-- 返回 res
return res;
end
//
delimiter ;
-- 用户变量的注意点
-- 在 sql 语句中给用户变量赋值的时候 不能够使用 '='
select count(*) from mm_users;
select @count = count(*) from mm_users; -- '=' 表示判断是否相等
- 判断
判断
if 条件1 then
语句1;
elseif 条件2 then
语句2;
else
语句
end if;
- 循环
循环
while 条件 do
语句;
end while;
退出循环:leave,相当于break
退出本次循环:iterate,相当于continue
- 示例
delimiter //
create function f3() returns varchar(300)
begin
-- 1. 声明递增的值 i, 拼接结果的 res
declare i int default 0;
declare res varchar(300) default '';
-- 2. 通过 while 递增 i
while i <= 100 do
-- 3. 判断 i 是否是偶数
if i % 2 = 0 then
-- 4. 拼接偶数
set res = concat(res,' ',i);
end if;
-- 递增 i
set i = i + 1;
end while;
-- 5. 返回 res
return res;
end
//
delimiter ;
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。