模拟数据构建记录:


场景:为了测试,需要给用户聊天记录表添加100w条数据。


思路:

1.创建随机主键id函数,因为我的主键不是自增主键
2.创建插入存储过程,主键生成调用上述函数
3.调用存储过程,进行数据插
4.如果对插入的列值有其他要求,可根据创建主键id函数方式来进行构造


过程:

1.创建主键生成函数

DELIMITER $$
create function generateId(n int)
returns varchar(1024)
begin
declare chars char(62) default `0123456789abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ`;
declare result varchar(1024) default '';
declare i int default 0;
repeat
set i = i + 1;
set result = concat(result,substring(chars,floor(1+rand()*62),1));
until i=n end repeat;
return result;
end $$

2.创建插入存储过程:


DELIMITER $$
create procedure insert_live_chat_record(n int)
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i + 1;
insert into live_chat_record values(generateId(32),'1', '10000000', '测试数据',  '10000000', '测试数据','2017-12-26 14:04:46', '百万数据测试', NULL, NULL, NULL, '2017-12-26 14:04:46', NULL, '2017-12-26 14:04:46', NULL,'0');
until i=n
end repeat;
commit;
set autocommit = 1;
end $$ 

3.调用存储过程:

call insert_live_chat_record(1000000)

4.查看函数及存储过程:

show function status
show procedure status

小结:
1.创建函数的时候要先开启mysql创建函数功能,默认是关闭的

  • 查看方式:show variables like ‘%func%’;
  • 开启方式:set global log_bin_trust_function_creators=1;

2.创建函数和存储过程的时候,必须在开始和结束位置添加 DELIMITER $$, $$

mysql批量构造模拟数据相关推荐

  1. 批量插入模拟数据入库

    批量插入模拟数据入库 <?php $dbh = new PDO('mysql:host=127.0.0.1;dbname=yu', 'root', 'root');$starTime = mic ...

  2. Mysql批量删除大量数据

    一.Mysql批量删除大量数据 方案1 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE ...

  3. mysql批量导入txt数据_MySQL批量导入Excel、txt数据

    我想Excel是当今最大众化的批量数据管理软件了吧,所以我们会经常涉及到将Excel中数据导入到MySQL中的工作.网上有一些关于直接将Excel导入MySQL的教程,不知道是我安装的office不对 ...

  4. MySQL 批量插入/填充数据 - 实践

    1.应用场景 应用场景之一: 有时,我们需要创建表并填充大量测试数据. 2.学习/操作 1.文档 TBD 2. 整理输出 环境 Windows 10 64位 专业版  i7 32G  机械硬盘 474 ...

  5. MySQL批量插入大量数据方法

    在MySQL数据库中,如果要插入上百万级的记录,用普通的 insert into 来操作非常不现实,速度慢人力成本高,推荐使用 Load Data 或存储过程来导入数据,我总结了一些方法分享如下,主要 ...

  6. Mysql 批量插入大量数据的两种方案以及优缺点(分别是 5W 条数据和 10W 条数据)

    Mysql 批量插入(5W 条数据和 10W 条数据) 1.批量插入思路 一般是有两种不同的思路: 1.for 循环批量插入 2.生成一条 SQL 语句,比如 insert into user(id, ...

  7. mysql批量导入 导出数据_MySQL批量导入导出数据

    批量向mysql插入(文本)数据的方法有以下3种: 方法1. 可以先将要插入的数据统一保存在 .sql 文件中,各个insert 语句直接用分号分开.之后执行命令: source .sql 文件即可. ...

  8. mysql批量复制表数据到另外几张表的写法

    delimiter // create procedure oneKey(in newNames varchar(1000),in oldName varchar(250),in id INT,in ...

  9. mysql进阶(十五) mysql批量删除大量数据

    假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE s ...

最新文章

  1. linux kill信号列表
  2. PyTorch 0.4新版本 升级指南 no_grad
  3. comlx 牌计算机音乐怎么设置,最具性价比的全能型 MIDI 键盘:Nektar Impact LX+ 键盘视频教程...
  4. 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建
  5. Android中asset文件夹和raw文件夹区别
  6. 通过一道题目来理解互斥和同步
  7. Qt工作笔记-打开指定文件夹
  8. ROS入门 SLAM
  9. python入门经典电子书-推荐6本学习Python的免费电子书
  10. 520用Java制作一个表白app
  11. 怎么在我们的App中集成条码扫描功能?
  12. 999宝藏网尼古拉斯电脑城装机版V6.0
  13. linux离线安装jemalloc,jemalloc在linux上从安装到使用
  14. 计算机实践学什么作用,大学计算机基础:计算机操作实践
  15. 高定价预计将降低iPhone XS的需求
  16. ICPR 2018 MTWI挑战赛开启 开放首个网络图片数据集
  17. 华为nova10和华为nova9哪个值得买 两者配置对比
  18. 记一次生产上线的问题
  19. 关于联想昭阳k20-80触摸屏关闭
  20. 海康摄像头视频实时监控

热门文章

  1. (MATLAB代码分享,可运行)基于改进遗传算法的柔性作业车间调度优化研究
  2. 金融工程学(一):概述
  3. 利用Max ,Break,AO贴图
  4. 手势操作实用教程 | 实现「滑动清除」效果
  5. html 背景图片不重复显示,css如何设置背景图片不重复?
  6. PyTorch中的topk函数详解
  7. ip camera如何将流媒体信息传送到流媒体服务器,IP Camera远程监控系统的设计与实现...
  8. HTTP 和HTTPS 连接过程详解(SSL TLS)
  9. [linux][network]虚拟网卡技术分析
  10. 对于addEventListener()事件的看法