实现目标:一年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。

mysql循环插入数据、生成随机数及CONCAT函数的更多相关文章

  1. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  2. mysql循环插入数据

    实验中经常会遇到需要多条数据的情况就想到了用SQL语句循环生成数据 DROP PROCEDURE if EXISTS test_insert; DELIMITER ;; CREATE PROCEDUR ...

  3. mysql -- 循环插入数据到表中

    备忘: 1.经搜索发现,MySql不支持直接写SQL语句实现循环插入功能. 想要实现该功能,可以用其他语言操控MySql来实现,或者用存储过程来实现(Store Procedure--SP).   2 ...

  4. MySql循环插入数据(定义了存储过程)

    MySQL一窍不通啊,今天工作上需要用到,请教了别人,做以备忘 DROP PROCEDURE test_insert ; DELIMITER ;; CREATE PROCEDURE test_inse ...

  5. MYSQL中创建存储过程实现向表中循环插入数据

    首先在test数据库中先创建一个表test: CREATE TABLE test( ID INT PRIMARY KEY AUTO_INCREMENT ,test_name VARCHAR(20),t ...

  6. MySQL大批量插入数据

    MySQL大批量插入数据 1. 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据. ALTER  TABLE  tblname  DISABLE  KEYS; loading  the  ...

  7. paginate()出来的数据怎样循环插入数据?

    paginate()出来的数据怎样循环插入数据? paginate()分页如何转数组操作数据之后再转回对象? thinkphp5 model里面用toarray后怎么分页? 以上类似问题的出现,是因为 ...

  8. MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

    MySQL数据库插入数据出现ERROR 1526 (HY000): Table has no partition for value xxx工作的时候发现无法插入数据,报错:ERROR 1526 (H ...

  9. Python向mysql数据库插入数据

    一.向表tcolor中插入数据的主要流程如下: import datetimeimport pymysql.cursorsconnection = pymysql.connect(host='loca ...

随机推荐

  1. C++代码审查---审查孙晓宁马踏棋盘谜题程序

    与孙晓宁同学结对审查,其代码地址如下:https://github.com/brunnhilder/-1/blob/master/%E9%A9%AC%E8%B8%8F%E6%A3%8B%E7%9B%9 ...

  2. G++与C++的区别

    C++是一门计算机编程语言,G++不是语言,是一款编译器中编译C++程序的命令而已. 不同的编译器,会对代码做出一些不同的优化 比如说: a++;  和 ++a; 如果从标准C的角度去理解.a++这个 ...

  3. lightoj 1074

    这题怎么说呢,负环上的点都不行 网上也有很多解法 我用dfs的spfa解的 我发现网上别人的代码都是用bfs的spfa写的,我就用的dfs的,快了好多 代码还看的别人的,只有中间的spfa是自己写的 ...

  4. 小程序 mpvue自定义底部导航栏

    1.在compontents新建文件放入 <template> <section class="tabBar-wrap"> <article clas ...

  5. C#通过COM组件操作IE浏览器(三):了解IHTMLDocument2

    IHTMLDocument2方法 说明 write 写入 writeln 写入并换行 open 打开一个流,以收集 document.write 或 document.writeln 的输出 clos ...

  6. Player 播放器开源项目总结

    Android开发中,我们不免会遇到播放器相关开发的需求,以下是本人之前star的开源项目,供大家参考: 一.NBPlayer 项目地址:https://github.com/renhui/NBPla ...

  7. LeetCode题解33.Search in Rotated Sorted Array

    33. Search in Rotated Sorted Array Suppose an array sorted in ascending order is rotated at some piv ...

  8. 更新RecyclerView的好方法

    一般在使用RecyclerView的时候不免要修改RecyclerView的数据,使用notifyDataSetChanged()来刷新界面,但是当数据比较多,而只是修改了一点的数据,或者刷新比较频繁 ...

  9. Day10:html和css

    Day10:html和css <html> <body> <h1>标题</h1> <p>段落</p> </body> ...

  10. 第55节:Java当中的IO流-时间api(下)-上

    Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...