實現目標:一年12個月,每個月插入一條數據,score為1 5的隨機數 迴圈語句: WHILE …… DO …… END WHILE 迴圈語句: LOOP……END LOOP DELIMITER ; CREATE PROCEDURE test_insert() BEGIN DECLARE y TIN ...
實現目標:一年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。