解析csv數據導入mysql的方法


mysql自己有個csv引擎,可以通過這個引擎來實現將csv中的數據導入到mysql數據庫中,並且速度比通過php或是python寫的批處理程序快的多。 具體的實現代碼示例: 

代碼如下:


load data infile '/tmp/file.csv' into table _tablename (set character utf8)
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n';

 

這段代碼中涉及的一些關鍵字的解釋如下:

fields terminated by '':這是指出csv文件中字段終止符,也就是數據之間的分隔符;

enclosed by '':指出封套符;

lines terminated by '':指行終止符

在csv文檔(RFC4180)中詳細介紹了csv的格式,其中的要點有:

(1)字段之間以“,”(逗號)間隔,數據行之間使用\r\n分隔;

(2)字符串以半角雙引號包圍,字符串本身的雙引號用兩個雙引號表示。 通過以上的解釋,詳細對於數據導入代碼應該有更好的理解了。

同樣的,csv數據能夠導入mysql數據庫中,mysql中的數據表也能導出csv文件,導出的代碼示例: 

代碼如下:


select * from tablename into outfile '/tmp/data.txt'
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n';

當將數據庫中的數據導出到文件后,要再將數據導入到數據庫中,必須遵守導出時的文件中定義的格式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM