1. package query;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.Random;
  9. import java.util.jar.Attributes.Name;
  10.  
  11. public class query {
  12. public static void main(String[] args) {
  13. // 驱动程序名
  14. String driver = "com.mysql.jdbc.Driver";
  15.  
  16. // URL指向要访问的数据库名9million
  17. String url = "jdbc:mysql://127.0.0.1:3306/9million";
  18.  
  19. // MySQL配置时的用户名
  20. String user = "root";
  21.  
  22. // MySQL配置时的密码
  23. String password = "";
  24.  
  25. try {
  26. // 加载驱动程序
  27. Class.forName(driver);
  28.  
  29. // 连续数据库
  30. Connection conn = DriverManager.getConnection(url, user, password);
  31.  
  32. if (!conn.isClosed())
  33. System.out.println("Succeeded connecting to the Database!");
  34.  
  35. // statement用来执行SQL语句
  36. Statement statement = conn.createStatement();
  37.  
  38. // 要执行的SQL语句
  39. for (int i= 0; i <= 9000 000; i ++){
  40. String rdname = randomString(8);
  41. int id = i;
  42. System.out.println(rdname);

  43. //丢了引号会出错,找不到collumn“ID”或者“rdname”
    int型的可以不用加,但是string类型的必须加。
    有空研究下底层实现
  44. String sqll = "insert into testdata (id,name) values ('"+id+"','"+rdname+"')";
  45.  
  46. statement.execute(sqll);
  47. }
  48. conn.close();
  49.  
  50. } catch (ClassNotFoundException e) {
  51.  
  52. System.out.println("Sorry,can`t find the Driver!");
  53. e.printStackTrace();
  54.  
  55. } catch (SQLException e) {
  56.  
  57. e.printStackTrace();
  58.  
  59. } catch (Exception e) {
  60.  
  61. e.printStackTrace();
  62.  
  63. }
  64.  
  65. }
  66.  
  67. /**
  68. * 产生随机字符串
  69. * */
  70. private static Random randGen = null;
  71. private static char[] letters = null;
  72. public static final String randomString(int length) {
  73. if (length < 1) {
  74. return null;
  75. }
  76. if (randGen == null) {
  77. randGen = new Random();
  78. // numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyz" +
  79. // "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
  80. letters = ("abcdefghijklmnopqrstuvwxyz").toCharArray();
  81. //numbersAndLetters = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
  82. }
  83. char [] randBuffer = new char[length];
  84. for (int i=0; i<randBuffer.length; i++) {
  85. randBuffer[i] = letters[randGen.nextInt(25)];
  86. //randBuffer[i] = numbersAndLetters[randGen.nextInt(35)];
  87. }
  88. return new String(randBuffer);
  89. }
  90.  
  91. }

遇到的问题:

第一次插入的时候,只能显示1000条记录

navicat for mysql ,默认查看表是显示前1000条。工具=》选项=》数据&网格=》限制记录,这里可以修改默认值。

用java在mysql中随机插入9000 000条数据的更多相关文章

  1. java 从List中随机取出一个元素

    java 从List中随机取出一个元素 List<Integer> list = new ArrayList<>(); Random random = new Random() ...

  2. 【面经】面试官:如何以最高的效率从MySQL中随机查询一条记录?

    写在前面 MySQL数据库在互联网行业使用的比较多,有些小伙伴可能会认为MySQL数据库比较小,存储不了很多的数据.其实,这些小伙伴是真的不了解MySQL.MySQL的小不是说使用MySQL存储的数据 ...

  3. 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来

    我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...

  4. 插入1000万条数据到mysql数据库表

    转自:https://www.cnblogs.com/fanwencong/p/5765136.html 我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入100 ...

  5. [MyBatis]五分钟向MySql数据库插入一千万条数据 批量插入 用时5分左右

    本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 我的数据库环境是mys ...

  6. 教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!

    教你如何6秒钟往MySQL插入100万条数据!然后删库跑路! 由于我用的mysql 8版本,所以增加了Timezone,然后就可以了 前提是要自己建好库和表. 数据库test, 表user, 三个字段 ...

  7. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?如何获取当前数据库版本?

    一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysq ...

  8. MySQL中游标使用以及读取文本数据

    原文:MySQL中游标使用以及读取文本数据 前言 之前一直没有接触数据库的学习,只是本科时候修了一本数据库基本知识的课.当时只对C++感兴趣,天真的认为其它的课都没有用,数据库也是半懂不懂,胡乱就考试 ...

  9. MySQL防止重复插入唯一限制的数据 4种方法

    MySQL防止重复插入唯一限制的数据,下面我们逐一分析 : 1.insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保 ...

随机推荐

  1. Oracle 时间处理(加减)

    一. 类似SQL SERVER中DateAdd select sysdate,add_months(sysdate,12) from dual;        --加1年 select sysdate ...

  2. 大话C#之属性

    前言 俗话说得好:工欲善其事,必先利其器.要想玩转OOP设计出一个优秀的类型,属性是必不可少的,那么我们今天就来说说c#中关于属性的二三事. 属性(property)分为无参属性(parameterl ...

  3. BZOJ 1071组队

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1071 题目很好,居然写了很久,题解找了真多: 主要两种做法: O(n^2lgn),通过优先 ...

  4. 纯CSS3实现3D动画导航,html5 webRTC技术实现免费网页电话拨打

    花了一周的时间完成了 说吧 (免费网页电话) 的前端开发工作,先将技术点总结如下: 免费电话采用最新的html5 webRTC 技术 实现互联网和电信MIS网互通实现网页电话,目前只有 google ...

  5. 金融证券协议FIX/FAST/STEP

    金融信息交换协议FIX是适用于实时证券.金融电子交易的数据通信标准.它是把各类证券金融业务需求流程格式化,使之成为一个可用计 算机语言描述的功能流程,并在每个业务功能接口上统一交换格式.STEP(Se ...

  6. super用法

    Person类: public class Person { String _name; int _age; public Person(String name,int age) { _name= n ...

  7. 深入浅出ES6(十二):代理 Proxies

    作者 Jason Orendorff  github主页  https://github.com/jorendorff 请看这样一段代码: var obj = new Proxy({}, { get: ...

  8. java基础知识回顾之抽象类和接口的区别

    /* 抽象类和接口的异同点: 相同点: 都是不断向上抽取而来的. 不同点: 1,抽象类需要被继承,而且只能单继承. 接口需要被实现,而且可以多实现. 2,抽象类中可以定义抽象方法和非抽象方法,子类继承 ...

  9. 传说中的WCF(6):数据协定(b)

    我们继续,上一回我们了解了数据协定的一部分内容,今天我们接着来做实验.好的,实验之前先说一句:实验有风险,写代码须谨慎. 实验开始!现在,我们定义两个带数据协定的类——Student和AddrInfo ...

  10. 网络处理2-异步POST请求和同步请求

    一.异步POST请求 假如请求路径是http://192.168.1.102:8080/MJServer/login,请求参数有2个: username :母鸡 pwd :123 1.POST请求细节 ...