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