zoukankan      html  css  js  c++  java
  • 用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条。工具=》选项=》数据&网格=》限制记录,这里可以修改默认值。

  • 相关阅读:
    TCP/IP协议,,OSI的七层参考模型,HTTP请求响应机制
    火狐浏览器缓存导致JS已经改变的ID没改变
    Server.MapPath 出现未将对象引用设置到对象的实例
    线程池发送邮件的方法(向多个用户发送同一邮件)
    用多线程发送邮箱(一次给一个用户发送N封邮件)
    验证文本框输入内容类型是汉字
    名人博客
    tinyget
    内存分析
    Silverlight Forums
  • 原文地址:https://www.cnblogs.com/fthjane/p/4851581.html
Copyright © 2011-2022 走看看