mysql本身有個csv引擎,能夠經過這個引擎來實現將csv中的數據導入到mysql數據庫中,而且速度比經過php或是python寫的批處理程序快的多。 具體的實現代碼示例: php
代碼以下:python
load data infile '/tmp/file.csv' into table _tablename (set character utf8)
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n';mysql
這段代碼中涉及的一些關鍵字的解釋以下:sql
fields terminated by '':這是指出csv文件中字段終止符,也就是數據之間的分隔符; 數據庫
enclosed by '':指出封套符; 文檔
lines terminated by '':指行終止符 字符串
在csv文檔(RFC4180)中詳細介紹了csv的格式,其中的要點有: io
(1)字段之間以「,」(逗號)間隔,數據行之間使用\r\n分隔; table
(2)字符串以半角雙引號包圍,字符串自己的雙引號用兩個雙引號表示。 經過以上的解釋,詳細對於數據導入代碼應該有更好的理解了。sed
一樣的,csv數據可以導入mysql數據庫中,mysql中的數據表也能導出csv文件,導出的代碼示例:
代碼以下:
select * from tablename into outfile '/tmp/data.txt'
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n';
當將數據庫中的數據導出到文件後,要再將數據導入到數據庫中,必須遵照導出時的文件中定義的格式。