1. 注意txt文本必定要是utf-8编码的,否则会报错ERROR 1300 (HY000): Invalid utf8 character string: ''
2. 而后在mysql中输入:show variables like '%secure%';
<ignore_js_op>
用来查看mysql导入导出目录必须存放的位置。能够在/etc的mysql配置里面更改。
这里看到的是/var/lib/mysql_files/。
因此要把文件放在这个目录下,否则导入不了。
若是是root登陆的数据库,文件的全部者和全部组最好也改为root吧。没有实验过不知道会不会出错。我是用的root.- -
3. 在mysql输入load data infile '/var/lib/mysql-files/你的文件名.txt' into table info fields terminatedby '&';
txt里面的数据格式 广东省&广州市&VIP&15875097133&2018-09-02
这时候就导入啦,若是太多文件的话就写个python脚原本导入。
4. 检查一下:
<ignore_js_op>
5. 检查无误后导出到txt文档。
select distinctnum,province,city,type,time from info order by num desc into outfile'/var/lib/mysql-files/result.txt';
注意文件路径也要是/var/lib/mysql-files/。否则会报错ERROR 1290 (HY000): The MySQL server is running with the--secure-file-priv option so it cannot execute
this statement。
还有就是distinct必须写在开头的第一位。
导出来的结果是这样的。
<ignore_js_op>
若是想要导出的文件和原文件保持一样的格式:
select distinctnum,province,city,type,time from info order by num desc into outfile'/var/lib/mysql-files/ddd.txt' FIELDS TERMINATED BY '&';
<ignore_js_op>
更多技术资讯可关注:gzitcast