解析csv數據導入mysql的方法
更新時間:2013年07月01日 11:52:06 作者:
本篇文章是對將csv數據導入mysql的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下
mysql自己有個csv引擎,可以通過這個引擎來實現(xiàn)將csv中的數據導入到mysql數據庫中,并且速度比通過php或是python寫的批處理程序快的多。
具體的實現(xiàn)代碼示例:
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';
當將數據庫中的數據導出到文件后,要再將數據導入到數據庫中,必須遵守導出時的文件中定義的格式。
具體的實現(xiàn)代碼示例:
復制代碼 代碼如下:
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';
當將數據庫中的數據導出到文件后,要再將數據導入到數據庫中,必須遵守導出時的文件中定義的格式。
相關文章
PHP 優(yōu)化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX
PHP 優(yōu)化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX...2007-07-07
windows服務器使用IIS時thinkphp搜索中文無效問題
在用ThinkPHP開發(fā)的網站,在linux服務器下使用過一段時間,一切正常。但是更換到windows服務器時,發(fā)現(xiàn)搜索的時候,無法搜索中文,查不出相應的結果。查看數據庫發(fā)現(xiàn)數據是存在的。linux服務器下正常,而且搜索數字或字母程序正常,說明程序是沒有任何問題的。2023-06-06

