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%';  

   MySql简单入门_第五篇 文件操作(2)_文件导出

问题2:文件路径识别问题

解决:SELECT   导出列  FROM    数据库中表  WHERE   筛选条件   INTO OUTFILE  "secure_file_priv\导出文件名"

MySql简单入门_第五篇 文件操作(2)_文件导出

问题3:导出数据出现中文乱码现象

原因:score表在数据库采用utf8编码(可以用show create table student;语句查看一下),而Excel文件则是GB2312编码

解决:select convert((数据库字段名) using gbk)  as  文件字段名

MySql简单入门_第五篇 文件操作(2)_文件导出

MySql简单入门_第五篇 文件操作(2)_文件导出MySql简单入门_第五篇 文件操作(2)_文件导出

问题4:关键字符转义问题

解决:FIELDS TERMINATED BY  ','  OPTIONALLY ENCLOSED BY  ' " '  LINES TERMINATED BY '\n';

MySql简单入门_第五篇 文件操作(2)_文件导出

MySql简单入门_第五篇 文件操作(2)_文件导出

2.2 导出文件

2.2.1 导出txt文件

MySql简单入门_第五篇 文件操作(2)_文件导出

2.2.2 导出xls文件

MySql简单入门_第五篇 文件操作(2)_文件导出

2.2.3 导出csv文件

MySql简单入门_第五篇 文件操作(2)_文件导出

2.3 导出带列名的文件

MySql简单入门_第五篇 文件操作(2)_文件导出

MySql简单入门_第五篇 文件操作(2)_文件导出

注意: b 的作用:执行子查询的时候,外层查询会将内层的查询当做一张表来处理,所以我们需要给内层的查询加上别名

MySql 1248 - Every derived table must have its own alias

提示说每一个衍生出来的表,必须要有自己的别名