使用不同方式,给数据库创建大量数据

文章介绍了使用Java编程动态生成SQL文件并执行批量插入数据的方法,以及通过数据库存储过程、Python库操作MySQL、jmeter性能测试工具和Excel参数化导入数据的方式。这些方法适用于大量数据的快速入库操作。
摘要由CSDN通过智能技术生成

方法一.通过JAVA文件生成对应的sql文件

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

class SQlUtil {
    private static void genAN_ONU() throws IOException {
//        String AN_ONU = "INSERT INTO AN_ONU VALUES" +
//"('NE MODEL CFG_TYPE-2c9799f456d614260156df017fdb01bb',HV1.0.0','SV1.0','%s','DISTRICT-00001','%s',NULL,'DEVICE_VENDOR-2c97991456d614260156deffaf1501b7'," +
//"NULL,NULL,'%s',sysdate,NULL,O,NULL,NULL," + "NULL,'cpe','cpe','rms','rms',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 'Android'1.0.0',sysdate,sysdate,0,NULL,NULL,NULL,NULL,1,NULL);";
        String AN_ONU="insert into a values (%s,'%s','%s','%s')";
        String mac_prex = "HW-";
        String sn_prex = "SN HWOO";
        String cuid_prex = "DEVICE-cuid-Hw";
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:/Users/a/an_onu.sql")));
         //创建数据的条数:10000
        for (int i = 10000; i <= 20000; i++) {
            String offset = String.format("%05d", i);
            String sql = String.format(AN_ONU,offset,mac_prex+offset, sn_prex + offset, cuid_prex + offset);
            //System.out.printIn(AN ONU):
            bw.write(sql +";"+ "\n");
        }
        bw.write("commit;");
        bw.flush();
        bw.close();

    }

    public static void main(String[] args) throws IOException {
        genAN_ONU();
    }
}

注意修改的地方:
在这里插入图片描述
运行成功后,然后在数据库中运行sql脚本,就好了。

方法二.通过使用数据库的存储过程:只考虑演示效果,不考虑字段设计的意义,哈哈

DROP PROCEDURE IF EXISTS `add_user`;    -- 如果存在 add_user 这个存储过程就删除
DELIMITER $$
CREATE PROCEDURE `add_user`(IN n int)    -- 创建存储过程    名字叫 add_user
BEGIN                                     -- 开启mysql 的事务
    DECLARE i int unsigned DEFAULT 1;      -- 创建一个游标
    WHILE i < n DO                         -- 循环次数  设置下面的收起来 具体要循环多少次
        INSERT INTO a(id,name,sex,st) VALUES (i,CONCAT('yang',i),MD5(123456),NOW());   -- 我们正在需要执行的sql
        SET i = i+1;
    END WHILE;
END $$                                       -- 提交 mysql 的事务                              
DELIMITER ;



-- 调用存储过程 (CALL 加上存储过程的名字)
CALL add_user(10);

在这里插入图片描述

后面的方法暂不演示

方法三:导入Python 的第三方库,连接mysql,连接上之后获取游标,输入sql语句,结合Python的for循环100w次,运行插入的语句。

方法四:jmeter 测试计划导入连接数据库的包,添加JDBC Connection 元件,JDBC 请求,Random Variable 随机数生成元件,线程组循环10w,设置随机变量(randomValue变量名称,变量取值范围),写入sql语句(插入的值中使用前面定义的随机数)。

方法五:Excel表格参数化10万条数据导入数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值