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。
相关推荐
冷月醉雪 2016-11-24
tmlf 2016-11-24
聪聪李 2020-06-13
jessieHJ 2020-05-31
xinhao 2020-05-28
czsay 2020-05-25
qscool 2020-05-06
xiechao000 2020-04-21
Lexan 2020-04-15
idning 2020-03-08
IBMRational 2020-03-07
zuihaobushi 2020-02-24
Canethui 2020-02-22
蜗牛慢爬的李成广 2020-02-02
明天你好 2020-01-28
yfisaboy 2020-01-19
风吹夏天 2020-01-10
idning 2020-01-06
georgeandgeorge 2019-12-28