我想直接从mysql导出csv命令
SELECT ....
FROM ...
INTO OUTFILE '/tmp/export.csv'
FIELDS TERMINATED BY ','
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;
Run Code Online (Sandbox Code Playgroud)
这个工作完美,但编码不是utf8.如何使内容导出utf8编码?
egg*_*yal 19
如SELECT ... INTO语法下所述:
SELECT ... INTO OUTFILE是补充LOAD DATA INFILE.列值将写入转换为CHARACTER SET子句中指定的字符集.如果不存在此类子句,则使用binary字符集转储值.实际上,没有字符集转换.如果结果集包含多个字符集中的列,则输出数据文件也将如此,您可能无法正确重新加载文件.
语法记录在SELECT语法下:
Run Code Online (Sandbox Code Playgroud)[INTO OUTFILE 'file_name' [CHARACTER SET charset_name]
因此:
SELECT ....
FROM ...
INTO OUTFILE '/tmp/export.csv'
CHARACTER SET utf8
FIELDS TERMINATED BY ','
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;
Run Code Online (Sandbox Code Playgroud)