MySql简单入门_第五篇 文件操作(2)_文件导出
2.1 导出文件所遇问题
问题1:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
原因:mysql 默认对导出的目录有权限限制,也就是说使用命令行进行导出的时候,需要指定目录进行操作;
解决:查询mysql 的secure_file_priv 值配置的是什么,使用命令行: show global variables like '%secure%';
问题2:文件路径识别问题
解决:SELECT 导出列 FROM 数据库中表 WHERE 筛选条件 INTO OUTFILE "secure_file_priv\导出文件名"
问题3:导出数据出现中文乱码现象
原因:score表在数据库采用utf8编码(可以用show create table student;语句查看一下),而Excel文件则是GB2312编码
解决:select convert((数据库字段名) using gbk) as 文件字段名
问题4:关键字符转义问题
解决:FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ' " ' LINES TERMINATED BY '\n';
2.2 导出文件
2.2.1 导出txt文件
2.2.2 导出xls文件
2.2.3 导出csv文件
2.3 导出带列名的文件
注意: b 的作用:执行子查询的时候,外层查询会将内层的查询当做一张表来处理,所以我们需要给内层的查询加上别名
MySql 1248 - Every derived table must have its own alias
提示说每一个衍生出来的表,必须要有自己的别名