自定义函数
    除了count()等内置函数外,可以创建一个适合自己需求的函数。
    创建函数:
        delimiter //
        
        create function 函数名(参数名 类型) returns 返回值类型
        begin
            内部实现
        end
        
        delimiter ;
    例子:生成指定长度的内容随机的字符串
            第一步:创建函数
               

delimiter //
                 create function    get_rand_str(length_str int) returns varchar(255)
                 begin
                     
                     declare src_str varchar(128) default 'qazxswedcvfrtgbnhyujmkiolpQAZXSWEDCVFRTGBNHYUJMKIOLP';
                     
                     declare rand_char varchar(1) default '';
                     
                     declare i int default 0;
                     
                     declare res_str varchar(255) default '';
                     
                     declare rand_index int default 0;
                     
                     
                         while i < length_str do
                             set rand_index = floor( RAND()*52 + 1);
                             set rand_char = SUBSTR(src_str,rand_index,1);
                             set res_str = concat(res_str,rand_char);
                             set i = i + 1;
                         end while;
                     
                     return res_str;
                     
                 end    //            
                 delimiter ;


            第二步:调用函数
                select get_rand_str(100);

 

注意:

声明变量用declare,给变量赋值用set

 

常用循环:

    while循环:


while i < 10
   ...执行需要循环的步骤
end while;

####一定要注意end while后加;

   repeat循环:


repeat
    ....需要循环的语句
    until i > 10
end repeat;


####注意
until后不要加;

条件语句:

delimiter //

create function max_value(a int,b int,c int) returns int
begin
    declare max_int int default 0;

    if a > b then
        set max_int = a;
    else
        set max_int = b;
    end if;
    
    if max_int > c then
        return max_int;
    else
        return c;  
    end if;
    
end //

delimiter ;