数据库操作中如何批量执行多个sql文件?
1.应用场景:在历史数据导入过程中,会发现有很多个表形成的.sql文件,要是一个一个文件去手动执行,实在是费时间,所以采取以下方法。
2.将文件放在一定位置,执行代码获取sql文件名,代码下载地址:https://download.csdn.net/download/qq_31968809/10420154
将代码此处改为需要获取文件名的位置。
-
//需要输出文件位置
-
static String path =
"C:\\Users\\86191\\Desktop";
原上传文件获取的是相对路径,需要变为绝对路径将方法listFilePath_sql改为如下:
-
public static void listFilePath_sql(File file) {
-
if (file.getName().endsWith(
".sql")) {
-
String name = file.getAbsolutePath();
-
StringBuffer sb =
new StringBuffer(name);
-
sb.insert(
0,
"@@");
-
// name = name.replace(path, "@@");
-
System.out.println(sb);
-
}
-
}
建立一个.sql文件,格式如下:@@F:\xx\xx\XX\56To65.sql
3.使用cmd窗口连接数据库,连接命令为:sqlplus username/pwd@ip/DBname
后执行:@@F:\xx\xx\XX\批量执行.sql
等待执行完毕。