zoukankan      html  css  js  c++  java
  • mysql循环插入数据、生成随机数及CONCAT函数

    实现目标:一年12个月,每个月插入一条数据,score为1-5的随机数

    循环语句: WHILE …… DO …… END WHILE

    DELIMITER ;
    CREATE PROCEDURE test_insert() 
    BEGIN 
    DECLARE y TINYINT DEFAULT 1;
    WHILE y<13
    DO
    
    INSERT INTO app_sign(`user_id`, `score`, `createdate`) 
    VALUES ('1', FLOOR( 1 + RAND() * 5), CONCAT('2018-',CAST(y AS CHAR),'-07') );
    
    SET y=y+1; 
    END WHILE ; 
    COMMIT; 
    END;
    CALL test_insert();
    DROP PROCEDURE IF EXISTS test_insert;
    

    循环语句: REPEAT …… UNTIL …… END REPEAT

    DELIMITER ;
    CREATE PROCEDURE test_insert() 
    BEGIN 
    DECLARE y TINYINT DEFAULT 1;
    REPEAT
    
    INSERT INTO app_sign(`user_id`, `score`, `createdate`) 
    VALUES ('1', FLOOR( 1 + RAND() * 5), CONCAT('2018-',CAST(y AS CHAR),'-07') );
    
    SET y=y+1; 
    
    UNTIL y >= 12
    END REPEAT; 
    COMMIT; 
    END;
    CALL test_insert();
    DROP PROCEDURE IF EXISTS test_insert;
    

    循环语句: LOOP……END LOOP

    DELIMITER ;
    CREATE PROCEDURE test_insert() 
    BEGIN 
    DECLARE y TINYINT DEFAULT 1;
    lp:LOOP
    	INSERT INTO app_sign(`user_id`, `score`, `createdate`) 
    	VALUES ('1', FLOOR( 1 + RAND() * 5), CONCAT('2018-',CAST(y AS CHAR),'-07') );
    
    	SET y=y+1; 
    
    	IF y > 12 THEN
    		LEAVE lp;
    	END IF;
    	
    END LOOP; 
    COMMIT; 
    END;
    CALL test_insert();
    DROP PROCEDURE IF EXISTS test_insert;
    

    生成随机数

    生成0-5的随机数

    SELECT RAND() * 5
    最大不会超过5,SELECT FLOOR(RAND() * 5)生成整数的值是0,1,2,3,4。
    生成的随机整数是1,2,3,4,5的话,语句如下
    SELECT FLOOR(1 + RAND()*5)

    CONCAT拼接字符串

    CONCAT(str1,str2,…)

    返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

  • 相关阅读:
    0121 集合类 ArrayList 的练习
    0121 有关接口的使用练习
    泛型相关知识
    0120 父类与子类创建、重写及转型练习
    0118练习 单例模式
    java设计模式 略版
    0117 面向对象OOP有关方法、类、构造方法及权限修饰符的练习
    0115 创建类并调用
    [luogu P2586] GCD 解题报告 (莫比乌斯反演|欧拉函数)
    POJ1284 Primitive Roots (原根)
  • 原文地址:https://www.cnblogs.com/AlienXu/p/8632780.html
Copyright © 2011-2022 走看看