1,某列存在0开头的数值(如果是字符没事如:000x;如果是数值有事如:0001),导出时数值消失,怎么办?
需要先将该列的值修改为“制表符tab+值”,sql语句如下:update gf_goods set number=CONCAT(" ",number) ;
好处:
1.1,对其他字段的影响降到最低(分隔符不变,不会错分单元格);
1.2,不影响排序orderby;
2,导出文件存在乱码怎么办??
数据库存值有三种可能:英文、中文、外文(如日文等),csv文件默认编码是gbk;
两种方法:
2.1,用编辑器手动打开后改编码然后存储,效果完美;
2.2,导出的sql语句增加CHARACTER SET gbk,外文会变成???;
3,mysql直接导出csv文件,用sql速度超级超级快(绝对爽),导出文件的sql语句如下:
SELECT id,number,price,NAME FROM gf_goods order by number asc LIMIT 0,10 INTO OUTFILE 'd:/7.csv' CHARACTER SET gbk FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\"' LINES
mysql导出csv文件(百万级数据) 心得
最新推荐文章于 2024-07-29 16:41:47 发布
本文分享了在MySQL中导出CSV文件,尤其是处理百万级数据时遇到的问题及解决方案。针对0开头数值消失的问题,可以使用CONCAT添加制表符;对于乱码,建议使用特定编码或编辑器手动转换;快速导出CSV或XLS文件的SQL语句也有详细说明,并提醒注意可能的行数不匹配和文件格式问题。
摘要由CSDN通过智能技术生成