成都专业网站建设公司,重庆营销型网站开发,网站seo收录工具,食品厂招男女工5000场景
Navicat通过存储过程批量插入mysql数据#xff1a;
Navicat通过存储过程批量插入mysql数据_霸道流氓气质的博客-CSDN博客
上面使用过Navicat借助存储过程批量插入数据。但是插入数据是固定的
insert语句#xff0c;如果在本地开发时需要模拟插入一些随机数据(从指定…场景
Navicat通过存储过程批量插入mysql数据
Navicat通过存储过程批量插入mysql数据_霸道流氓气质的博客-CSDN博客
上面使用过Navicat借助存储过程批量插入数据。但是插入数据是固定的
insert语句如果在本地开发时需要模拟插入一些随机数据(从指定选择项中随机选择)
如果涉及到时间字段还需要指定时间范围内随机生成时间。
注
博客https://blog.csdn.net/badao_liumang_qizhi
实现
1、使用ELT(CEILING(rand( ) * 8) ,)函数随机选择插入项的值
使用FROM_UNIXTIME( UNIX_TIMESTAMP())函数生成随机时间段内的数据。
示例Insert语句
INSERT test ( car_num, no_login_type, record_time, last_login_number, last_login_time, remark )
VALUES(ELT(CEILING(rand( ) * 8) , 测试1, 测试2, 测试3, 测试4, 测试5, 测试6, 测试7, 测试8),ELT(CEILING(rand( ) * 2) , 1, 2),FROM_UNIXTIME( UNIX_TIMESTAMP( 2023-01-01 14:53:27 ) FLOOR( 0 ( RAND() * 60 * 60 * 24 * 30 * 6 )) ),test,2023-01-09 16:06:01,NULL);
比如这里car_num就使用从测试1, 测试2, 测试3, 测试4, 测试5, 测试6, 测试7, 测试8随机选择。
no_login_type使用从1, 2中随机选择。
时间字段这里就是从2023-01-01 14:53:27开始至后面6个月内的随机时间。
2、还是使用Navicat新建存储过程
函数-新建函数-过程 添加输入参数模式IN名字自定义类型为int用来做执行次数的输入参数
新建成功之后默认为 修改其内容为
CREATE DEFINERrootlocalhost PROCEDURE pro_insertMany(in num INT)
BEGINDECLARE i int DEFAULT 1;WHILE inum DOINSERT INTO bus_driver_no_login_record ( car_num, no_login_type, record_time, last_login_number, last_login_time, remark )
VALUES(ELT(CEILING(rand( ) * 8) , 测试1, 测试2, 测试3, 测试4, 测试5, 测试6, 测试7, 测试8),ELT(CEILING(rand( ) * 2) , 1, 2),FROM_UNIXTIME( UNIX_TIMESTAMP( 2023-01-01 14:53:27 ) FLOOR( 0 ( RAND() * 60 * 60 * 24 * 30 * 6 )) ),test,2023-01-09 16:06:01,NULL);SET ii1;END WHILE;
END
中间为要执行插入数据的语句。
num为循环次数即上面添加的IN参数。
pro_insertMany为自定义保存的存储过程名称。
保存运行输入num然后运行。