mysql批量构造模拟数据
模拟数据构建记录:
场景:为了测试,需要给用户聊天记录表添加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批量构造模拟数据相关推荐
- 批量插入模拟数据入库
批量插入模拟数据入库 <?php $dbh = new PDO('mysql:host=127.0.0.1;dbname=yu', 'root', 'root');$starTime = mic ...
- Mysql批量删除大量数据
一.Mysql批量删除大量数据 方案1 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE ...
- mysql批量导入txt数据_MySQL批量导入Excel、txt数据
我想Excel是当今最大众化的批量数据管理软件了吧,所以我们会经常涉及到将Excel中数据导入到MySQL中的工作.网上有一些关于直接将Excel导入MySQL的教程,不知道是我安装的office不对 ...
- MySQL 批量插入/填充数据 - 实践
1.应用场景 应用场景之一: 有时,我们需要创建表并填充大量测试数据. 2.学习/操作 1.文档 TBD 2. 整理输出 环境 Windows 10 64位 专业版 i7 32G 机械硬盘 474 ...
- MySQL批量插入大量数据方法
在MySQL数据库中,如果要插入上百万级的记录,用普通的 insert into 来操作非常不现实,速度慢人力成本高,推荐使用 Load Data 或存储过程来导入数据,我总结了一些方法分享如下,主要 ...
- Mysql 批量插入大量数据的两种方案以及优缺点(分别是 5W 条数据和 10W 条数据)
Mysql 批量插入(5W 条数据和 10W 条数据) 1.批量插入思路 一般是有两种不同的思路: 1.for 循环批量插入 2.生成一条 SQL 语句,比如 insert into user(id, ...
- mysql批量导入 导出数据_MySQL批量导入导出数据
批量向mysql插入(文本)数据的方法有以下3种: 方法1. 可以先将要插入的数据统一保存在 .sql 文件中,各个insert 语句直接用分号分开.之后执行命令: source .sql 文件即可. ...
- mysql批量复制表数据到另外几张表的写法
delimiter // create procedure oneKey(in newNames varchar(1000),in oldName varchar(250),in id INT,in ...
- mysql进阶(十五) mysql批量删除大量数据
假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE s ...
最新文章
- linux kill信号列表
- PyTorch 0.4新版本 升级指南 no_grad
- comlx 牌计算机音乐怎么设置,最具性价比的全能型 MIDI 键盘:Nektar Impact LX+ 键盘视频教程...
- 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建
- Android中asset文件夹和raw文件夹区别
- 通过一道题目来理解互斥和同步
- Qt工作笔记-打开指定文件夹
- ROS入门 SLAM
- python入门经典电子书-推荐6本学习Python的免费电子书
- 520用Java制作一个表白app
- 怎么在我们的App中集成条码扫描功能?
- 999宝藏网尼古拉斯电脑城装机版V6.0
- linux离线安装jemalloc,jemalloc在linux上从安装到使用
- 计算机实践学什么作用,大学计算机基础:计算机操作实践
- 高定价预计将降低iPhone XS的需求
- ICPR 2018 MTWI挑战赛开启 开放首个网络图片数据集
- 华为nova10和华为nova9哪个值得买 两者配置对比
- 记一次生产上线的问题
- 关于联想昭阳k20-80触摸屏关闭
- 海康摄像头视频实时监控
热门文章
- (MATLAB代码分享,可运行)基于改进遗传算法的柔性作业车间调度优化研究
- 金融工程学(一):概述
- 利用Max ,Break,AO贴图
- 手势操作实用教程 | 实现「滑动清除」效果
- html 背景图片不重复显示,css如何设置背景图片不重复?
- PyTorch中的topk函数详解
- ip camera如何将流媒体信息传送到流媒体服务器,IP Camera远程监控系统的设计与实现...
- HTTP 和HTTPS 连接过程详解(SSL TLS)
- [linux][network]虚拟网卡技术分析
- 对于addEventListener()事件的看法