一、使用sql语句可以直接将查询的数据导成Excel表格:
-- select * from user into outfile "导出文件存放路径" where 子条件语句;
二、解决导出Excel中文乱码问题:
- 使用MySQL的convert函数
-- 使用convert函数可以将中文转换为gbk格式,避免Excel打开乱码。 select id,convert((name) using gbk) as name from user into outfile "D:/1.xls" where id > 1;
-
使用编辑器转换编码
1.选中Excel文件,右键选择打开方式,使用记事本打开,选择另存为,调整编码为Unicode,保存后再用Excel打开即可。
2.使用其他文本编辑器转换编码。
三、导出文件报错
导出文件时可能会报错:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
出现该报错的原因是,MySQL做了导入导出的限制。
解决办法:
1.先查看当前的权限:
show variables like '%secure%';
secure_file_priv参数用于限制select...outfile、load data、load_file()导出目录。
a.该参数值为NULL时,表示限制mysqlld不允许导入或导出。
b.该参数没有值时,表示mysqlld可以在任意目录导入或导出。
c.该参数值为/var/tmp(目录路径)时,表示限制mysqlld只能在/var/tmp这个目录中导入或导出。
2.修改mysql配置文件,重启MySQL。
找到MySQL安装目录中my.ini文件,输入
secure_file_priv=''
保存后重启MySQL即可。