mysql自动插入百万模拟数据的操作代码

本人数据库工具用的navicat 其他的大同小异

1.打开navicat,在对应的数据库下有个函数菜单,右键新建函数==》完成

2.创建测试表 user,懒得写语句 反正每个人需要的表不一样

3.创建函数,直接上代码!注意中间的insert语句换成你自己需要的插入语句,可利用随机方法保证生成的数据不同

CREATE DEFINER=`root`@`localhost` FUNCTION `ins_data`(`num` int) RETURNS int(11)
BEGIN
DECLARE i int DEFAULT 0;
WHILE i<num DO
INSERT INTO `user` (`name`,email,phone,sex,password,age,create_time)
values(concat('用户',i),'12345678@qq.com'
,CONCAT('18',FLOOR(rand()*(999999999-100000000)+100000000))
,FLOOR(RAND()*2),UUID(),FLOOR(RAND()*100)
,now());
set i = i+1;
END WHILE;
RETURN i;
END

4.测试,返回值为生成的数据条数。

  注:100万条数据可能需要生成几分钟,中途进行其他操作有可能会导致失败

搞定!

到此这篇关于mysql自动插入百万模拟数据的文章就介绍到这了,更多相关mysql自动插入数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-10-12

MySql三种避免重复插入数据的方法

前言 MySql 在存在主键冲突或唯一键冲突的情况下,根据插入方式,一般有以下三种插入方式避免错误. insert ignore. replace into insert on duplicate key update insert ignore insert ignore 会忽视数据库中已经存在的数据,根据主键或者唯一索引判断,如果数据库没有数据,就会插入新的数据,如果有数据的话就跳过这条数据 小case 表结构 root:test> show create table t3G *******

MySql批量插入时如何不重复插入数据

目录 前言 一.insert ignore into 二.on duplicate key update 三.replace into 总结 前言 Mysql插入不重复的数据,当大数据量的数据需要插入值时,要判断插入是否重复,然后再插入,那么如何提高效率?解决的办法有很多种,不同的场景解决方案也不一样,数据量很小的情况下,怎么搞都行,但是数据量很大的时候,这就不是一个简单的问题了. 一.insert ignore into 会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果

Mysql避免重复插入数据的4种方式

最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下: 这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,address这4个字段,其中主键为id(自增),同时对username字段设置了唯一索引: 01 insert ignore into 即插入数据时,如果数据存在,则忽略此次插入,前提条件是插入的数据字段设置了

mysql大批量插入数据的4种方法示例

前言 本文主要给大家介绍了关于mysql大批量插入数据的4种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法一:循环插入 这个也是最普通的方式,如果数据量不是很大,可以使用,但是每次都要消耗连接数据库的资源. 大致思维如下 (我这里写伪代码,具体编写可以结合自己的业务逻辑或者框架语法编写) for($i=1;$i<=100;$i++){ $sql = 'insert...............'; //querysql } foreach($arr as $key =

MySQL删除和插入数据很慢的问题解决

公司开发人员在测试环境中执行一条 insert 语句时,需要花费 10 几秒才可以执行成功.查看测试环境数据库性能.数据量.死锁等信息,均为发现异常.最后通过修改日志写入方式解决此问题. 1. 修改办法 修改/etc/my.cnf文件,将 innodb_flush_log_at_trx_commit = 1改为0, 但这样就要承担数据库Crash后,1秒内未存储到数据库数据丢失可能的风险.MySQL文档中对该参数的描述如下: If the value of innodb_flush_log_at

Mysql删除重复的数据 Mysql数据去重复

MySQL数据库中查询重复数据 select * from employee group by emp_name having count (*)>1; Mysql  查询可以删除的重复数据 select t1.* from employee t1 where (t1.emp_name) in (select t4.emp_name from (select t2.emp_name from employee t2 group by t2.emp_name having count(*)>1)

JDBC连接MySQL数据库批量插入数据过程详解

这篇文章主要介绍了JDBC连接MySQL数据库批量插入数据过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.读取本地json数据 2.jdbc理解数据库 3.批量插入 maven 引入jar包: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2

php往mysql中批量插入数据实例教程

前言 假如说我有这样一个表,我想往这个表里面插入大量数据 CREATE TABLE IF NOT EXISTS `user_info` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `name` varchar(255) NOT NULL default '' COMMENT '姓名', `age` int(11) NOT NULL default '0' COMMENT '年龄', PRIMARY KEY (`id`) ) ENG

解决Linux下Tomcat向MySQL插入数据中文乱码问题

一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一 直接在linux上面使用insert语句插入中文,正常 2.尝试二 在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行 3.尝试三 在tomcat配置文件server.xml中再加入URIEncoding="UTF-8",不行 4.尝

MySQL删除数据,表文件大小依然没变的原因

对于运行很长时间的数据库来说,往往会出现表占用存储空间过大的问题,可是将许多没用的表删除之后,表文件的大小并没有改变,想解决这个问题,就需要了解 InnoDB 如何回收表空间的. 对于一张表来说,占用空间重要分为两部分,表结构和表数据.通常来说,表结构定义占用的空间很小.所以空间的问题主要和表数据有关. 在 MySQL 8.0 前,表结构存储在以 .frm 为后缀的文件里.在 8.0,允许将表结构定义在系统数据表中. 关于表数据的存放 可以将表数据存在共享表空间,或者单独的文件中,通过 inno

java向mysql插入数据乱码问题的解决方法

遇到java向mysql插入数据乱码问题,如何解决? MySQL默认编码是latin1 mysql> show variables like 'character%'; +--------------------------+--------------------------+ | Variable_name | Value | +--------------------------+--------------------------+ | character_set_client | la

jsp操作MySQL实现查询/插入/删除功能示例

直接贴代码吧: 首先,index_test.jsp页面的代码如下: 复制代码 代码如下: <%@ page language="java" pageEncoding="utf-8"%> <%@ page contentType="text/html;charset=utf-8"%>  <%     request.setCharacterEncoding("UTF-8");     respons

MYSQL开发性能研究之批量插入数据的优化方法

一.我们遇到了什么问题 在标准SQL里面,我们通常会写下如下的SQL insert语句. INSERT INTO TBL_TEST (id) VALUES(1); 很显然,在MYSQL中,这样的方式也是可行的.但是当我们需要批量插入数据的时候,这样的语句却会出现性能问题.例如说,如果有需要插入100000条数据,那么就需要有100000条insert语句,每一句都需要提交到关系引擎那里去解析,优化,然后才能够到达存储引擎做真的插入工作. 正是由于性能的瓶颈问题,MYSQL官方文档也就提到了使用批

python的mysql数据库建立表与插入数据操作示例

本文实例讲述了python的mysql数据库建立表与插入数据操作.分享给大家供大家参考,具体如下: mysql数据库建立表 一 代码 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","root","root","db_test01" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 exec