温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL--函数

发布时间:2020-07-26 12:29:54 阅读:361 作者:缪克拉 栏目:MySQL数据库
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>
- 创建
-- 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 intreturns 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(300default '';
-- 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倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×