当前位置: 首页 > news >正文

Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据

场景

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 DEFINER=`root`@`localhost` PROCEDURE `pro_insertMany`(in num INT)
BEGINDECLARE i int DEFAULT 1;WHILE i<=num 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 i=i+1;END WHILE;
END

中间为要执行插入数据的语句。

num为循环次数,即上面添加的IN参数。

pro_insertMany为自定义保存的存储过程名称。

保存运行,输入num然后运行。

 

http://www.lryc.cn/news/17429.html

相关文章:

  • 【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
  • 事理知识图谱
  • 多綫程之python爬蟲構建
  • 【干货】Redis在Java开发中的基本使用和巧妙用法
  • 历时半年,我终于阿里上岸了,附面经和Java非科班学习心得
  • ArkUI实战,自定义饼状图组件PieChart
  • 工作实战之系统交互api调用认证设计
  • 学习系统编程No.5【虚拟地址空间】
  • Linux常用指令(未完待续。。。)
  • 用D写裸机
  • (二十五)、实现评论功能(5)【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】
  • 【概念辨析】二维数组传参的几种可能性
  • python和C++代码实现图片九宫格切图程序(附VS2015配置Opencv教程)
  • 【深度学习】优化器
  • SpringBoot使用validator进行参数校验
  • 论文复现:风电、光伏与抽水蓄能电站互补调度运行(MATLAB-Yalmip全代码)
  • FastCGI sent in stderr: "PHP message: PHP Fatal error
  • 【数字IC基础】跨时钟域(CDC,Clock Domain Crossing)
  • UNI-APP学习
  • 编译原理【运行时环境】—什么是活动记录、 活动记录与汇编代码的关系
  • 【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅰ——理论,实验拓扑和安装基于RemoteAPP的RDS
  • Bootstrap入门到精通(最全最详细)
  • C/C++每日一练(20230223)
  • c语言中const 是什么意思?(面试)
  • 网络工程(三)ensp配置静态路由
  • 深入浅出C++ ——手撕红黑树
  • Linux服务:Nginx服务重写功能
  • 3.知识图谱概念和相关技术简介[知识抽取、知识融合、知识推理方法简述],典型应用案例介绍国内落地产品介绍。一份完整的入门指南,带你快速掌握KG知识,芜湖起飞!
  • iOS 绿幕技术
  • git 的使用方法(上 - 指令)