笔记:读取sql文件,然后将数据批量插入数据库

python批量插入数据到mysql python大批量插入mysql 阅读详情
private static List<String> loadSql(String sqlFile) throws Exception {
        List<String> sqlList = new ArrayList<String>();
        try {
            InputStream sqlFileIn = new FileInputStream(sqlFile);
            StringBuffer sqlSb = new StringBuffer();
            byte[] buff = new byte[1024];
            int byteRead = 0;
            while ((byteRead = sqlFileIn.read(buff)) != -1) {
                sqlSb.append(new String(buff, 0, byteRead));
            }
//            System.out.println( sqlSb.toString());
            // Windows 下换行是 \r\n, Linux 下是 \n
            String[] sqlArr = sqlSb.toString()
                    .split("(;\\s*\\r\\n)");
            for (int i = 0; i < sqlArr.length; i++) {
                String sql = sqlArr[i].trim();//.replaceAll("--.*", "").trim();
                if (!sql.equals("")) {
                    sqlList.add(sql);
                }
            }
            return sqlList;
        } catch (Exception ex) {
            throw new Exception(ex.getMessage());
        }
    }
 
 
    public static void main(String[] args) {
         Connection conn = null;  
         Statement pst = null;
        try {
            List<String> sqlList = loadSql("E:/workspace/itest/src/main/resources/t_case.sql");
            System.out.println("size:" + sqlList.size());
            Class.forName("oracle.jdbc.driver.OracleDriver");  
            conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "ULIV", "123456");  
            pst = conn.createStatement();  
            System.out.println("sqlList.size():" + sqlList.size());
            for(int i=0;i<sqlList.size();i++){
               pst.addBatch(sqlList.get(i).toString());
               if(i !=0 && i%500 == 0){   
                  pst.executeBatch();                                
               }
           }
         pst.executeBatch();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
Java批量插入数据 实现Java批量插入数据库数据,在javaeye中看到过几篇关于实现Java批量插入数据库数据,转载时没有找到,就自己写一下,也算是对自己学习过程中所遇到过的问题做一个总结。 一般关于批量数据库插入数据都采用PreparedStatement、Statement…………也包括直接使用JDBC API、框架………… 也看到过几篇关于这些内容的总结,及大家的评论,以下为我总结的关于批量数据库 阅读详情

相关推荐

利用jmeter向数据库插入批量数据

使用jmeter可以批量的向数据库插入数据,这个功能在实际工作中也可以帮我们提高工作效率。 接下来开始介绍jmeter如何向数据库插入批量数据 1、首先先添加CSVDataSetConfig,用于读取我们的大批量文件 1.1 2、添加计数器,用于你想插入多少数据量 2.1 3、添加JDBCConnectionConfiguration,这个配置主要是链接数据库相关信息 3.1 4、添加随机变量,用于取值范围 4.1 5、插入SQL语句及设置变...

村东头老杨的博客 3968

数据库批量提取数据

declare @XM varchar(100),@COUNT INT,@YXM VARCHAR(1000),@ID VARCHAR(1000) Declare XM_Cursor CURSOR FOR SELECT XM,ID FROM JCXX WHERE XM LIKE '%(%' OPEN XM_Cursor FETCH FROM XM_Cursor into @XM,@ID WHILE @@FETCH_STATUS=0 BEGIN set @COUNT = PATINDEX( '%(%', @XM) IF @COUNT > 0 BEGIN SET @YXM = SUBSTRING(@XM,0,@COUNT) UPDATE JCXX SET XM = @YXM WHERE ID = @ID PRINT @YXM END FETCH NEXT FROM XM_Cursor into @XM,@ID END close XM_Cursor DEALLOCATE XM_Cursor update jcxx set xm = substring(xm,0,CHARINDEX('(',xm)) where xm like '%(%' update jcxx set xm = xm=left(xm,CHARINDEX('(',xm)-1) where xm like '%(%'

oracle批量插入SQL优化

最近在实现一个读取本地文件数据,解析后插入数据库功能,数据量大概是三百万,文件大小将近500MB,采用批量插入的方式进行处理。 之前使用比较多的是mysql,第一次接触oracle,比较习惯使用foreach循环来做处理,最开始的做法是把insert语句放到foreach里面,sql如下: <insert id="batchInsertUserInfo" parameterType="jav...

wtdemeil的博客 1641

文本文件批量导入sql数据库

将文本文件批量导入到SQl数据库中,导入速度很快,

使用cmd工具如何导入大容量sql文件到mysql数据库

使用cmd命令操作mysql数据库,将大文件.sql脚本导入到指定的数据库,亲测,可用,相互学习,哈哈哈

liuying1802028915的博客 3203

python操作mysql批量插入

通过python向mysql插入大量数据,execute与executemany对比效率差异极大。另有autocommit的自动提交与commit的手动提交操作方法。

pxx000000的博客 2万+

用BULK INSERT命令导入数据详解

转载而来。来源已经不清楚了。  如果你从事与数据库相关的工作,有可能会涉及到将数据从外部数据文件插入SQLServer的操作。本文将为大家演示如何利用BULKINSERT命令来导入数据,并讲解怎样通过改变该命令的一些选项以便更方便且更有效地插入数据。  BULKINSERT  在SQLServer中,BULKINSERT是用来将外部文件以一种特定的格式加载到数据库表的T-SQL命令。该...

weixin_30832983的博客 579

python---mysql批量插入数据

以下例子是批量插入三条数据,需要插入多少,可以自己定义。

weixin_44688529的博客 5104

Python读取excel文件数据插入数据库

目的:将excel文件StudentInfo.xls的学生信息插入到test库中的student表中 一、连接mysql数据库 安装第三方库pymysql:pip install pymysql 调用pymysql.connect()方法连接数据库,代码如下 import pymysql # 打开数据库连接 conn = pymysql.connect( host='localhost', # MySQL服务器地址 user='root', # MySQL服务器端口号 p

tyh_keephunger的博客 1万+

java读取sql脚本文件并写入数据库

1.java读文件防止中文乱码:保证文件数据库、表属性字段统一编码;之后创建连接时候指定编码 useUnicode=true&characterEncoding=utf-8 2.BufferReader 逐行读取批量插入数据库

zixiao_YING的专栏 1万+

Java读取sql文件插入MySQL数据库

.sql 文件里面存的数据格式如下: INSERT INTO tbl_name (col1, col2, …) VALUES (val1, val2,….), (val3, val4,….) 从别的地方获取到sql文件,将数据插入到你想要的数据库里面, 方法一: 直接在数据库下运行.sql文件: mysql> source /User/ziqiii/myInsert.sql ...

zqzwzd的博客 2147

python 读写mysql数据库(包括批量插入批量更新)

1、安装python库sqlalchemy 2、用法如下 from sqlalchemy import create_engine mysql_ip = "" mysql_port = 30000 mysql_database = "" mysql_username = "" mysql_password = "" mysql_table = "" engine = create_engine("mysql+pymysql://{}:{}@{}:{}/{}".format(mysql_.

u011412768的博客 3510

一个简单的从txt文件读取数据插入数据库

一: 首先我们应该先·建一个Dynamic web project 工程。 二: 定义一个读文件操作 package com.what.files; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader

DCBTB的博客 1万+

python向数据库写入数据_如何用Python将数据批量插入数据库

我是一名挣扎在编程链底端的pythoner,工作中既要和数据打交道,也要保持和erp系统,web网站友好的"沟通"···,我会时不时的分享下工作中遇到那点事,包括个人觉得值得记录的编程小技巧,还有就是遇到的问题以及解决方案,还有源码的阅读等等,可能也有编程中的生活感悟,不说了,我要去重构我的程序了本文基于python, 使用pandas, pymysql等三方库实现了向数据库中高效批量插入数据,一...

weixin_39822423的博客 1212

mybatis中使用批量操作以及ssm整合时使用数据库批量数据库

以前一直使用的是&lt;c:foreach&gt;标签取出集合中的每一个要插入的元素然后依次进行批量操作的,但是后来仔细看了看后台打印的信息后发现这种批量操作的方式效率很低,于是在网上搜索了一番,偶然发现可以使用更加快捷简便的方式进行批量的操作。 1.首先仅仅在mybatis框架中执行批量操作 这个其实非常简单,只需要在创建openSession的时候在调用openSession()方法的时候...

wenpan的博客 1023

springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用

springboot-maven java项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用

鄙人kunzhi96,感恩遇见! 2071

SpringBoot读取Resources下自定义文件

InputStream in = ConfigurationManager.class.getClassLoader().getResourceAsStream("sql/***.sql"); 未找到异常 解决办法: 1. pom添加.sql文件类型 <resource> <directory>src/main/resources</directory> <includes>

ZeroKoop 316

pymysql中使用excutemany批量插入数据和避免重复项

在进行大量数据插入MySQL中时,使用excute的效率非常低,所以将列表数据插入数据库中可以使用excutemany()。以上代码当执行executemany出现Duplicate entry异常时,插入失败。:能同时执行多条语句,强烈建议执行多条语句时使用executemany()。这样当有重复记录就会忽略,执行后返回数字0。executemany()的使用。

qq_44723773的博客 2947
上一篇: oracle数据库做定时任务(插入) 笔记
下一篇: spring定时任务时间格式cronExpression设置
疯狂的小鱼
博客等级 码龄14年 4粉丝 30原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值