ysql自己有個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"
optionally enclosed by """
lines terminated by "\n";
當將資料庫中的資料匯出到檔案後,要再將資料匯入到資料庫中,必須遵守匯出時的檔案中定義的格式。
ysql自己有個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";
當將資料庫中的資料匯出到檔案後,要再將資料匯入到資料庫中,必須遵守匯出時的檔案中定義的格式。