在mysql中,多个CSV文件导入到一个表的方法

@echo off 
cd C:\ProgramData\MySQL\MySQL Server 5.7\Uploads
for /R "C:\ProgramData\MySQL\MySQL Server 5.7\Uploads" %%s in (*.csv) do ( 
echo %%s 
copy "%%s" tmp.csv
del "%%s"   
"C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqlimport.exe" --local --fields-terminated-by="," -u*** -p*** database_name tmp.csv
del tmp.csv
)
pause
以下是Java读取多个CSV文件导入到不同数据的示例代码: ```java import java.io.BufferedReader;import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class CSVImporter { public static void main(String[] args) { String[] files = {"file1.csv", "file2.csv", "file3.csv"}; // CSV文件路径数组 String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库连接URL String user = "root"; // 数据库用户名 String password = "password"; // 数据库密码 try { Connection conn = DriverManager.getConnection(url, user, password); for (String file : files) { String tableName = file.substring(0, file.indexOf(".")); // 根据文件名生成名 String sql = "CREATE TABLE IF NOT EXISTS " + tableName + " (col1 VARCHAR(255), col2 VARCHAR(255), col3 VARCHAR(255))"; // 根据名生成建语句 PreparedStatement createTableStmt = conn.prepareStatement(sql); createTableStmt.executeUpdate(); // 执行建语句 BufferedReader reader = new BufferedReader(new FileReader(file)); String line; while ((line = reader.readLine()) != null) { String[] values = line.split(","); // 逗号分隔每一行的值 sql = "INSERT INTO " + tableName + " (col1, col2, col3) VALUES (?, ?, ?)"; // 根据名生成插入语句 PreparedStatement insertStmt = conn.prepareStatement(sql); insertStmt.setString(1, values[0]); insertStmt.setString(2, values[1]); insertStmt.setString(3, values[2]); insertStmt.executeUpdate(); // 执行插入语句 } reader.close(); } conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 该示例代码,首先定义了一个包含CSV文件路径的字符串数组。然后,根据每个文件名生成对应的名,并根据名生成建语句。接着,使用BufferedReader逐行读取CSV文件,并使用逗号分隔每一行的值。最后,根据名生成插入语句,并将每一行的值插入到对应的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值