zoukankan      html  css  js  c++  java
  • MySQL学习笔记:while循环

      思考:while循环是否只能使用在存储过程或者存储函数之中,不能直接在查询语句中使用?

      ———— 循环一般在存储过程和存储函数中使用。


      直接放几个例子:

      例一:

      1.创建存储过程

    复制代码
    DELIMITER $$
    CREATE PROCEDURE test_while_001(IN in_count INT) # 创建存储过程 学习while循环的用法
    BEGIN
        DECLARE COUNT INT DEFAULT 0;
        DECLARE SUM INT DEFAULT 0;
        WHILE COUNT < in_count DO
            SET SUM = SUM + COUNT;
            SET COUNT = COUNT + 1;
        END WHILE;
        SELECT SUM;
    END $$
    DELIMITER ;
    复制代码

      2.调用存储过程

    CALL test_while_001(10); # 45 输出

      3.删除存储过程

    DROP PROCEDURE test_while_001;

     

    例二:

      1.创建函数

    复制代码
    DELIMITER $$
    CREATE FUNCTION my_test_function(quantity INT(10)) RETURNS INT(10) # 创建函数 学习while循环的用法
    BEGIN
        WHILE quantity MOD 12 > 0 DO
            SET quantity = quantity + 1;
        END WHILE;
        RETURN quantity;
    END $$
    DELIMITER ;
    复制代码

      注意:创建函数之前必须更改系统设置 否则无法创建函数

    SET GLOBAL log_bin_trust_function_creators=TRUE;

      2.调用函数

    SELECT my_test_function(10);
    SELECT my_test_function(24);
    SELECT my_test_function(222);

      3.删除函数

    DROP FUNCTION my_test_function;

      

      例三:

      1.如果存在,则删除

    DROP PROCEDURE IF EXISTS u_head_and_low_pro;

      2.创建存储过程

    复制代码
    DELIMITER $$
    CREATE PROCEDURE u_head_and_low_pro()
    BEGIN
        DECLARE n INT DEFAULT 10;
        SET n = n - 1;
        WHILE n > 0 DO
            SELECT n;
            SET n = n - 1;
        END WHILE;
    END $$
    DELIMITER ;
    复制代码

      3.调用存储过程

    CALL u_head_and_low_pro();

      4.删除存储过程

    DROP PROCEDURE u_head_and_low_pro;

      注:不依赖于任何数据库表,完整展示变量、while语句、存储过程的用法。


      例四:

    复制代码
    # 创建存储过程
    DELIMITER $$ CREATE PROCEDURE test_while() BEGIN DECLARE SUM INT DEFAULT 0; DECLARE t INT DEFAULT 5; WHILE t > 0 DO SET SUM = SUM + t; SET t = t - 1; END WHILE; SELECT SUM; END $$ DELIMITER ; # 调用存储过程 CALL test_while(); # 15 # 删除 DROP PROCEDURE test_while;
  • 相关阅读:
    bat 命令如何启动远程PC上的一个程序
    Python的内置list类
    Python3的列表推导式
    python3修改Excel中固定单元格的内容
    python3“腌制”数据
    python3用print写数据到文件中
    github在线预览项目(html)
    github简单上手
    事件DOMContentLoaded和load的区别
    jquery 一些事件
  • 原文地址:https://www.cnblogs.com/deepalley/p/13448198.html
Copyright © 2011-2022 走看看