一,文本文档格式的导入(mysql)
1. 表tt的格式:
CREATE TABLE `tt` (
`ind` int NOT NULL auto_increment,
`name` char(100) default NULL,
PRIMARY KEY (`ind`)
)
2. 文件d.txt的内容示例:
1,a
2,b
3,c
3 .导入命令:
mysql> load data infile 'd.txt' into table tt
-> fields terminated by','
-> lines terminated by'\r\n'
注意的地方:
1)、文件可以使用绝对路径如'c:/d.txt',否则请将文件放在数据库根目录中
2)、因为字段之间用了逗号隔开,所以必须fields terminated by',',否则导入失败
3)、因为Winsows中行以“\r\n”隔开,所以必须lines terminated by'\r\n',
如果不设置这个参数,也可导入成功,但是会多导入一个“\r”控制字符,可能在可视化
MySQL工具中看不出字段异样,但是在MySQL命令行中显示会明显混乱。
4)、如果表tt非空,且文件中的ind值在表中有重复,会提示错误,并导入失败。
只导入name字段,文件d.txt的内容:
a
b
c
mysql> load data infile 'd.txt' into table tt
-> lines terminated by'\r\n'
-> (name);
load data 命令还支持更复杂的文本格式、文件编码等,可参考官方文档。
4.导出到数据到windows文本文件时,为了方便查看,也需要相同的设置
mysql> select * from tt into outfile 'd.txt'
-> fields terminated by','
-> lines terminated by'\r\n'
二,JDBC连接导入(mysql)
代码如下:
import java.sql.*;
public class TestPreStmt {
public static void main(String[] args) {
ResultSet rs = null;
Connection conn = null;
PreparedStatement pst = null;
try {
//第一步:加载MySQL的JDBC的驱动
Class.forName("com.mysql.jdbc.Driver");
//取得连接的 url,能访问MySQL数据库的用户名,密码;数据库名
String url = "jdbc:mysql://localhost:3306/2";
String user = "root";
String password = "19870714";
//第二步:创建与MySQL数据库的连接类的实例
conn = DriverManager.getConnection(url, user, password);
//第三步:用conn创建Statement对象类实例 stmt
String sql = "select id,name from student where id=? and name=?";
pst = conn.prepareStatement(sql);
pst.setInt(1, 1);
pst.setString(2, "张三");
rs = pst.executeQuery();
while(rs.next()){
System.out.println(rs.getString("id"));
System.out.println(rs.getString("name"));
}
String ps = "insert into student values(?,?,?)";
pst = conn.prepareStatement(ps);
pst.setInt(1, 5);
pst.setString(2, "pig");
pst.setString(3, "m");
pst.executeUpdate();
} catch (ClassNotFoundException e) {
//加载JDBC错误,所要用的驱动没有找到
System.out.println("驱动加载错误");
}catch (SQLException ex) {
//显示数据库连接错误或查询错误
System.err.println("SQLException:"+ex.getMessage());
}finally {
try{
if(pst != null) {
pst.close();
pst = null;
}
if(conn != null) {
conn.close();
conn = null;
}
}catch(SQLException e) {
System.err.println("SQLException:"+e.getMessage());
}
}
}
}