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 '\"'

使用jdbc从java连接到mysql数据库。 声明查询

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)。