java使用load data 批量插入记录到数据库表中。

public class MysqlTest {

    static String driver = "com.mysql.jdbc.Driver";
    static String url = "jdbc:mysql://10.119.8.67:3306/test_data?useSSL=false";
    static Connection conn = null;
    public static void main(String[] args){

        System.out.println("MysqlTest main start");

        try {
            Class.forName(driver);
            conn =  DriverManager.getConnection(url, "root", "Qwe@1234");
            String sql = "load data local infile \'E:\\\\work\\\\scala\\\\test\\\\cellNew0502.txt\' into table cell fields terminated by '|';";

            System.out.println("MysqlTest main sql " + sql );
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.execute();
            conn.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        System.out.println("MysqlTest main end");
    }

load data local infile 'E:\\work\\scala\\test\\cellNew0502.txt' into table cell fields terminated by '|';

使用load data 插入数据效率非常快。




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LOAD DATA INFILE 是 MySQL 的一个快速导入数据的命令,可以将一个文本文件中的数据快速地导入到 MySQL 表中,适用于大批量的数据导入操作。以下是使用 LOAD DATA INFILE 将百万级别的数据插入到 MySQL 表中的步骤: 1. 准备好数据文件 将需要导入的数据保存为一个纯文本文件,文件格式可以是 CSV、TSV 等,每行对应一个数据记录,每个字段之间用特定的分隔符隔开。 2. 创建表结构 在 MySQL 中创建一个表,表的结构需要与数据文件中的数据格式相对应。 3. 使用 LOAD DATA INFILE 命令导入数据 在 MySQL 命令行界面或者客户端工具中使用 LOAD DATA INFILE 命令导入数据,命令格式如下: ``` LOAD DATA INFILE 'data.txt' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; ``` 其中,data.txt 是数据文件的路径,table_name 是需要导入数据的表名,FIELDS TERMINATED BY ',' 表示字段之间的分隔符为逗号,LINES TERMINATED BY '\n' 表示每行记录以换行符作为分隔符。 4. 等待数据导入完成 数据导入的时间取决于数据文件的大小和服务器的性能,可能需要几分钟或者更长时间,导入过程中可以使用 SHOW PROCESSLIST 命令查看当前的进程状态。 以上就是使用 LOAD DATA INFILE 将百万级别的数据插入到 MySQL 表中的步骤。需要注意的是,在导入数据时需要确保数据文件的格式和表结构的定义完全一致,否则可能会导致数据导入失败或者数据错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值