将一个student.txt文件的数据导入MySQL数据库中一张student1表中

Java批量导入TXT到MySQL
本文介绍了一种使用Java程序将TXT文件中的学生数据批量导入MySQL数据库的方法。具体步骤包括读取文件、解析数据并使用JDBC执行SQL插入操作。

 将一个student.txt文件的数据导入MySQL数据库中一张student1表中:
import java.io.*;
import java.sql.*;
import java.util.*;

public class TextToDataBase {

/**
* @param args
* 本程序涉及文件IO,字符串分隔StringTokenizer,JDBC,数据库sql语句
*/
public static void main(String[] args) {
Connection con=null;
PreparedStatement pstm=null;

FileReader fr=null;
BufferedReader br=null;
try {

Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/exercise1","root","root");

pstm=con.prepareStatement("insert into student1 (ID,name,age,gendar,score) values(?,?,?,?,?)");


fr=new FileReader("D://Exercise//student.txt");
br=new BufferedReader(fr);


for(int i=0;i <5;i++){

String s=br.readLine();
        StringTokenizer st=new StringTokenizer(s);
   
        int ID=Integer.parseInt(st.nextToken());
        String name=st.nextToken();
        int age=Integer.parseInt(st.nextToken());
        String gendar=st.nextToken();
        int score=Integer.parseInt(st.nextToken());
       
pstm.setInt(1,ID);
pstm.setString(2,name);
pstm.setInt(3,age);
pstm.setString(4,gendar);
pstm.setInt(5,score);
pstm.executeUpdate();
}
br.close();
pstm.close();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {

e.printStackTrace();
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}
}
}

注意:将student.txt文件内容建成如下形式:
1  张三      20  male  80
2  lisi      24  female  86
3  wangwu    25  male    93
4  liuliu    36  female  89
5  zhaoqi    29  male    81 

MySQL 中,可以使用 `SELECT ... INTO OUTFILE` 的语法将数据数据库中的某个导出到一个文本文件中。以下是操作的具体步骤: ### SQL 导出命令 假设我们需要把名为 **jwgl** 数据库里的 **student** 数据导出为一个叫作 **jwglstudent1.txt** 的文本文件。 #### 示例SQL语句: ```sql SELECT * FROM jwgl.student INTO OUTFILE '/path/to/jwglstudent1.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; ``` >注意:你需要修改 `/path/to/` 替换为你服务器上实际保存该文件的路径,并保证MySQL服务对该目录有写入权限。 ### 解释关键部分 - **INTO OUTFILE '/path/to/filename.txt'**: 指定输出的目标文件位置以及名称。 - **FIELDS TERMINATED BY ','**: 定义字段之间的分隔符,在这里是逗号(`,`),如果需要其他字符替换即可。 - **ENCLOSED BY '"'**: 字段值会用双引号 (`"`) 包裹起来。 - **LINES TERMINATED BY '\n'**: 每行记录结束后的终止符,这里设置的是换行符(`\n`)。 ### 权限问题提醒 确保运行此命令的用户有足够的权限访问目标文件系统的位置并能够创建和写入指定的文件名。 另外值得注意的一点是,如果你尝试通过本地客户端连接远程服务器上的 MySQL 实例,则可能无法直接对远程机器执行文件写出操作;这种情况下你可以考虑先选择查询结果再利用工具如 Navicat 或者 DataGrip 等进行手动保存处理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值