java-mysql-选择查询输出文件-文件保存在哪里
使用jdbc从java连接到mysql数据库。 声明查询java-mysql-选择查询输出文件-文件保存在哪里,java,mysql,sql,into-outfile,Java,Mysql,Sql,Into Outfile,使用jdbc从java连接到mysql数据库。 声明查询 String query = "SELECT *"+ "FROM tt2"+ "INTO OUTFILE 'DataFormatted.csv'"+ "FIELDS TERMINATED BY ','"+ "ENCLOSED BY '\"'
String query =
"SELECT *"+
"FROM tt2"+
"INTO OUTFILE 'DataFormatted.csv'"+
"FIELDS TERMINATED BY ','"+
"ENCLOSED BY '\"'" +
"LINES TERMINATED BY '\n'";
使用executQuery(查询)执行查询
如何更改上述代码以将DataFormatted.csv保存到c驱动器根目录中
文件保存在哪里
在MySQL服务器的当前工作目录中。这取决于MySQL服务器是如何执行和配置的。最好是将CSV文件的位置更改为固定位置
如何更改上述代码以将DataFormatted.csv保存到c驱动器根目录中
只需通过'C:/DataFormatted.csv'
更改'DataFormatted.csv'
请注意,如果您也想通过Java访问CSV文件,那么Java代码和MySQL服务器都应该在相同的机器上运行。如果它们在物理上不同的机器上运行,那么您可能会寻找其他方式来访问CSV文件,例如通过FTP发送生成的CSV文件
SELECT ... INTO OUTFILE
将数据转储到MySQL服务器计算机上的文件中。如果要在Java客户端上创建本地文件,则需要自己创建。假设SQL查询正确(示例换行处缺少空格),则OUTFILE会将文件保存在服务器上。
如果没有给出路径,它将进入数据目录中,位于带有用户名的子目录中。
它类似于
test
用户的C:\Program Files\MySQLServer\data\test
要了解数据目录是什么,请使用show variables where variable\u name='datadir'
查询
要更改输出文件的位置,只需使用完整的路径,正如
BalusC
所建议的那样,我认为query
根本不起作用:行之间缺少分隔符(空格)。连接的查询是“SELECT*FROM tt2INTO OUTFILE'DATAFORMATED.csv'字段终止于','封闭于'\'”,行终止于'\n'”
您是对的。我最后放了空格。我认为工作目录是错误的……至少它不能是Java进程的工作目录(除非有某种方式在Java内部运行MYSQL)。