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';
當將數據庫中的數據導出到文件後,要再將數據導入到數據庫中,必須遵守導出時的文件中定義的格式。