数据库操作中如何批量执行多个sql文件?

1.应用场景:在历史数据导入过程中,会发现有很多个表形成的.sql文件,要是一个一个文件去手动执行,实在是费时间,所以采取以下方法。

2.将文件放在一定位置,执行代码获取sql文件名,代码下载地址:https://download.csdn.net/download/qq_31968809/10420154

将代码此处改为需要获取文件名的位置。


  1. //需要输出文件位置
  2. static String path = "C:\\Users\\86191\\Desktop";

原上传文件获取的是相对路径,需要变为绝对路径将方法listFilePath_sql改为如下:


  1. public static void listFilePath_sql(File file) {
  2. if (file.getName().endsWith(".sql")) {
  3. String name = file.getAbsolutePath();
  4. StringBuffer sb = new StringBuffer(name);
  5. sb.insert(0,"@@");
  6. // name = name.replace(path, "@@");
  7. System.out.println(sb);
  8. }
  9. }

建立一个.sql文件,格式如下:@@F:\xx\xx\XX\56To65.sql

3.使用cmd窗口连接数据库,连接命令为:sqlplus username/pwd@ip/DBname

后执行:@@F:\xx\xx\XX\批量执行.sql

等待执行完毕。

数据库操作中如何批量执行多个sql文件?的更多相关文章

  1. Navicat for MySQL 批量执行多个 SQL 文件

    文件合并 type *.sql >> aaa.sql 执行sql文件 右键点击数据库

  2. Ubuntu下执行mysql的sql文件

    Ubuntu下执行mysql的.sql文件   方法一: 1.执行此命令,会提示输入mysql的root账户的密码,验证成功后,会在dbname这个数据库中执行filename.sql这个脚本,其中f ...

  3. 批处理执行多个SQL文件到oracle

    最近因为项目需要,打算写一个批处理程序,更新数据库中的表数据.写了3个sql文件:a.sql,b.sql,c.sql,在这三个文件中,实现了创建表,并向表中插入数据的操作.目前我通过SQLPLUS可以 ...

  4. 【二十四】使用mysqli扩展类批量执行多条sql语句

    批量处理多个sql语句 <?php //批量执行多个dml语句 // $mysqli=new mysqli("localhost","root",&quo ...

  5. 批量执行插入的sql和自动补零

    DECLARE @invoice_no int SET @invoice_no=3 WHILE @invoice_no<=100 --需要插入的次数 BEGIN --此处需要执行的插入sql文 ...

  6. 将*.sql数据库脚本导入到sqlserver中(sql文件导入sqlserver)

    在SqlServer中这个是用生成sql脚本生成的 要是在导入数据库用数据导入/导出向导导不进去 其实要用查询分析器来打开sql文件 然后执行就可以了

  7. navicat执行大容量的.sql文件时的设置

    如果有主外键关联等,执行报错,则去掉中间的对勾保留第三个对勾试试.第三个对勾 是 手动提交(不自动提交,估计是全部导入到数据库中之后再一起提交,而不是导入一条sql语句就提交一次) 如果同时不勾选第2 ...

  8. 执行超大的.sql文件处理,100M++

    sqlcmd的命令参数如下: 1    [-U 登录 ID]             [-P 密码] 2  [-S 服务器]                [-H 主机名]           [-E ...

  9. 使用mysql的source批量导入多个sql文件

    需求: 有一个文件,文件里面包含100多个sql文件,想要把这些sql文件都导入到mysql中 做法: 使用 mysql 的 source 可以将文件导入到 mysql 中,但是一次只能导入一个 sq ...

随机推荐

  1. codeforces 1065F Up and Down the Tree

    题目链接:codeforces 1065F Up and Down the Tree 题意:给出一棵树的节点数\(n\)以及一次移动的最大距离\(k\),现在有一个标记在根节点1处,每一次可以进行一下 ...

  2. 【XSY2760】nonintersect 计算几何

    题目描述 平面上有\(n\)条线段,你要擦掉所有线段但保留原有的\(2n\)个端点,然后连接这些端点形成\(n\)条不相交的线段,每个端点只能在一条线段中. 假设你画的线段总长为\(Y\),原有线段的 ...

  3. cordova window error

    npm install -g cordova --save ; ------------------------- error: deprecated node-uuid@1.4.7: use uui ...

  4. Nagios 监控 Httpd 并发数插件

    工作需要监控Httpd并发数,找不到合适的插件,花时间研究了一下Nagios监控内存的脚本,做了一些修改,完成了脚本.监控内存脚本:http://www.cnblogs.com/Mrhuangrui/ ...

  5. Hdoj 1102.Constructing Roads 题解

    Problem Description There are N villages, which are numbered from 1 to N, and you should build some ...

  6. Callable和Future、FutureTask的使用

    http://www.silencedut.com/2016/06/15/Callable%E5%92%8CFuture%E3%80%81FutureTask%E7%9A%84%E4%BD%BF%E7 ...

  7. codeforces Hello 2019(未写完)

    A. Gennady and a Card Game a题惯例签到题 题意:给你一张牌,再给你5张牌,判断能不能出一次牌... 所以只要检查第二行中的某个卡是否与第一行中的卡具有共同字符 有就输出YE ...

  8. configure - 源代码安装的第一步

    configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系 configure有许多参数可配,具体参见./configure --help ...

  9. jenkins学习:jenkins+maven

    之前配置了jenkins+gitlab,jenkins已经可以从gitlab上面拉取代码了,执行项目构建还要加一个maven. 1.配置全局的maven 系统管理-全局工具配置-配置maven的地址 ...

  10. Vue(基础六)_嵌套路由(续)

    一.前言                  1.路由嵌套里面的公共路由                  2.keep-alive路由缓存                  3.导航守卫 二.主要内容 ...