用java在mysql中随机插入9000 000条数据
- package query;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Random;
- import java.util.jar.Attributes.Name;
- public class query {
- public static void main(String[] args) {
- // 驱动程序名
- String driver = "com.mysql.jdbc.Driver";
- // URL指向要访问的数据库名9million
- String url = "jdbc:mysql://127.0.0.1:3306/9million";
- // MySQL配置时的用户名
- String user = "root";
- // MySQL配置时的密码
- String password = "";
- try {
- // 加载驱动程序
- Class.forName(driver);
- // 连续数据库
- Connection conn = DriverManager.getConnection(url, user, password);
- if (!conn.isClosed())
- System.out.println("Succeeded connecting to the Database!");
- // statement用来执行SQL语句
- Statement statement = conn.createStatement();
- // 要执行的SQL语句
- for (int i= 0; i <= 9000 000; i ++){
- String rdname = randomString(8);
- int id = i;
- System.out.println(rdname);
//丢了引号会出错,找不到collumn“ID”或者“rdname”
int型的可以不用加,但是string类型的必须加。
有空研究下底层实现- String sqll = "insert into testdata (id,name) values ('"+id+"','"+rdname+"')";
- statement.execute(sqll);
- }
- conn.close();
- } catch (ClassNotFoundException e) {
- System.out.println("Sorry,can`t find the Driver!");
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 产生随机字符串
- * */
- private static Random randGen = null;
- private static char[] letters = null;
- public static final String randomString(int length) {
- if (length < 1) {
- return null;
- }
- if (randGen == null) {
- randGen = new Random();
- // numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyz" +
- // "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
- letters = ("abcdefghijklmnopqrstuvwxyz").toCharArray();
- //numbersAndLetters = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
- }
- char [] randBuffer = new char[length];
- for (int i=0; i<randBuffer.length; i++) {
- randBuffer[i] = letters[randGen.nextInt(25)];
- //randBuffer[i] = numbersAndLetters[randGen.nextInt(35)];
- }
- return new String(randBuffer);
- }
- }
遇到的问题:
第一次插入的时候,只能显示1000条记录
navicat for mysql ,默认查看表是显示前1000条。工具=》选项=》数据&网格=》限制记录,这里可以修改默认值。
用java在mysql中随机插入9000 000条数据的更多相关文章
- java 从List中随机取出一个元素
java 从List中随机取出一个元素 List<Integer> list = new ArrayList<>(); Random random = new Random() ...
- 【面经】面试官:如何以最高的效率从MySQL中随机查询一条记录?
写在前面 MySQL数据库在互联网行业使用的比较多,有些小伙伴可能会认为MySQL数据库比较小,存储不了很多的数据.其实,这些小伙伴是真的不了解MySQL.MySQL的小不是说使用MySQL存储的数据 ...
- 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...
- 插入1000万条数据到mysql数据库表
转自:https://www.cnblogs.com/fanwencong/p/5765136.html 我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入100 ...
- [MyBatis]五分钟向MySql数据库插入一千万条数据 批量插入 用时5分左右
本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 我的数据库环境是mys ...
- 教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!
教你如何6秒钟往MySQL插入100万条数据!然后删库跑路! 由于我用的mysql 8版本,所以增加了Timezone,然后就可以了 前提是要自己建好库和表. 数据库test, 表user, 三个字段 ...
- 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?如何获取当前数据库版本?
一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysq ...
- MySQL中游标使用以及读取文本数据
原文:MySQL中游标使用以及读取文本数据 前言 之前一直没有接触数据库的学习,只是本科时候修了一本数据库基本知识的课.当时只对C++感兴趣,天真的认为其它的课都没有用,数据库也是半懂不懂,胡乱就考试 ...
- MySQL防止重复插入唯一限制的数据 4种方法
MySQL防止重复插入唯一限制的数据,下面我们逐一分析 : 1.insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保 ...
随机推荐
- Oracle 时间处理(加减)
一. 类似SQL SERVER中DateAdd select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate ...
- 大话C#之属性
前言 俗话说得好:工欲善其事,必先利其器.要想玩转OOP设计出一个优秀的类型,属性是必不可少的,那么我们今天就来说说c#中关于属性的二三事. 属性(property)分为无参属性(parameterl ...
- BZOJ 1071组队
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1071 题目很好,居然写了很久,题解找了真多: 主要两种做法: O(n^2lgn),通过优先 ...
- 纯CSS3实现3D动画导航,html5 webRTC技术实现免费网页电话拨打
花了一周的时间完成了 说吧 (免费网页电话) 的前端开发工作,先将技术点总结如下: 免费电话采用最新的html5 webRTC 技术 实现互联网和电信MIS网互通实现网页电话,目前只有 google ...
- 金融证券协议FIX/FAST/STEP
金融信息交换协议FIX是适用于实时证券.金融电子交易的数据通信标准.它是把各类证券金融业务需求流程格式化,使之成为一个可用计 算机语言描述的功能流程,并在每个业务功能接口上统一交换格式.STEP(Se ...
- super用法
Person类: public class Person { String _name; int _age; public Person(String name,int age) { _name= n ...
- 深入浅出ES6(十二):代理 Proxies
作者 Jason Orendorff github主页 https://github.com/jorendorff 请看这样一段代码: var obj = new Proxy({}, { get: ...
- java基础知识回顾之抽象类和接口的区别
/* 抽象类和接口的异同点: 相同点: 都是不断向上抽取而来的. 不同点: 1,抽象类需要被继承,而且只能单继承. 接口需要被实现,而且可以多实现. 2,抽象类中可以定义抽象方法和非抽象方法,子类继承 ...
- 传说中的WCF(6):数据协定(b)
我们继续,上一回我们了解了数据协定的一部分内容,今天我们接着来做实验.好的,实验之前先说一句:实验有风险,写代码须谨慎. 实验开始!现在,我们定义两个带数据协定的类——Student和AddrInfo ...
- 网络处理2-异步POST请求和同步请求
一.异步POST请求 假如请求路径是http://192.168.1.102:8080/MJServer/login,请求参数有2个: username :母鸡 pwd :123 1.POST请求细节 ...