方法一
SELECT ... FROM ... WHERE ... INTO OUTFILE 'file.csv' FIELDS TERMINATED BY ','
非常简单的方法,但很不灵活。需要考虑mysql用户对文件夹的访问权限问题,由于服务器往往是由运维人员控制,所以应该尽量避免涉及服务器配置相关的改动。
方法二
mysql -u%s -p%s %s -e "%s" --default-character-set=gbk | sed 's/\t/,/g' > %s
调用系统命令来执行该语句可以解决权限问题,但处理多表关联查询、子查询等许多复杂业务时,SQL语句过于复杂,维护成本非常大。
方法三
使用第三方库,如python中的python-excel。这种方法开发周期最长,但也最灵活。一次长时间的开发,然后基本上一劳永逸不失为一个好的策略。