上面的要點片段顯示了通用載入資料語句。上面的程式碼中提到了所有可用的選項。

現在讓我們專注於一個簡單的範例,即簡單地讀取 .csv 檔案並將其行插入到相容的表中。

一個簡單的例子:

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

包含所有基本選項的鳥瞰範例:

不用說,您的 CSV 檔案應該正確格式化才能使此語句發揮作用? .

瞧,使用上述語句,您的 .csv 行數超過 10 萬行將在幾秒鐘內導入到您的表中。

現在,需要注意一些重要事項:

上述語句在MySql層級運行,因此來源檔案從客戶端複製到伺服器以便匯入它們。
這會帶來一些安全問題,我們需要確保使用此程式碼時客戶端-伺服器連線的安全性。

在MySql 8.0中,使用LOCAL的能力預設為False。由於您的伺服器和用戶端應配置為允許 LOCAL,因此有些人可能會收到權限錯誤。

如果出現權限錯誤,我們需要透過啟用 local_infile:
來覆寫它

SET GLOBAL local_infile = true;

注意:覆蓋此標誌並不是安全解決方案,而是承認接受風險,您可以參考此文件以獲取更多資訊。

?‍?結論

MySql LOAD DATA 語句用於在非常短的時間內讀取檔案。
您可以將此程式碼與任何後端 API 一起使用來提供原始檔案。
來源文件可以是任何文字文件,我們在本例中使用.csv。

LOAD DATA LOCAL透過MySql將來源檔案複製到您的伺服器,因此應在伺服器端實施安全措施。

mysqlimport 實用程式在內部使用 LOAD DATA 語句。

您可以透過在語句中加入 IGNORE 1 LINES 來忽略 CSV 中的標頭。

\\\"How

?參考

官方文件

","image":"http://www.luping.net/uploads/20241001/172776132566fb8baddd92a.gif","datePublished":"2024-11-08T04:52:05+08:00","dateModified":"2024-11-08T04:52:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何批次上傳CSV檔案資料到MySql表中?使用 LOAD DATA 的一種非常快速的方法。

如何批次上傳CSV檔案資料到MySql表中?使用 LOAD DATA 的一種非常快速的方法。

發佈於2024-11-08
瀏覽:922

?介紹

您是否仍在使用“for”或“while”循環來迭代行並將它們插入資料庫?您還在編寫單獨的程式碼來讀取 .csv 檔案並將其上傳到 MySQL 資料庫嗎?

用MySQL提供的「LOAD DATA」語句對線性邏輯說「NO」。準備好更改程式碼以最大限度地減少行數並大幅提高效能。

MySql 提供了 LOAD DATA 語句,這是一種非常高速的方法,可以用很少的程式碼從文字檔案中讀取資料並將其插入到表中。

?什麼是 LOAD DATA INFILE 語句?

根據MySQL 的官方文檔,LOAD DATA 語句用於以非常快的方式從文件中讀取數據,您可以通過一次查詢將此數據插入表中,而不是多次訪問數據庫與“INSERT INTO”查詢。

MySQL也提供了一個語句->“SELECT…INTO OUTFILE”,它的作用與“LOAD DATA”的作用完全相反,即從表中讀取資料到檔案

MySql提供的mysqlimport實用程式內部呼叫伺服器上的LOAD DATA語句來匯入資料。

?如何使用它?

上面的要點片段顯示了通用載入資料語句。上面的程式碼中提到了所有可用的選項。

現在讓我們專注於一個簡單的範例,即簡單地讀取 .csv 檔案並將其行插入到相容的表中。

一個簡單的例子:

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

包含所有基本選項的鳥瞰範例:

不用說,您的 CSV 檔案應該正確格式化才能使此語句發揮作用? .

瞧,使用上述語句,您的 .csv 行數超過 10 萬行將在幾秒鐘內導入到您的表中。

現在,需要注意一些重要事項:

上述語句在MySql層級運行,因此來源檔案從客戶端複製到伺服器以便匯入它們。
這會帶來一些安全問題,我們需要確保使用此程式碼時客戶端-伺服器連線的安全性。

在MySql 8.0中,使用LOCAL的能力預設為False。由於您的伺服器和用戶端應配置為允許 LOCAL,因此有些人可能會收到權限錯誤。

如果出現權限錯誤,我們需要透過啟用 local_infile:
來覆寫它

SET GLOBAL local_infile = true;

注意:覆蓋此標誌並不是安全解決方案,而是承認接受風險,您可以參考此文件以獲取更多資訊。

?‍?結論

MySql LOAD DATA 語句用於在非常短的時間內讀取檔案。
您可以將此程式碼與任何後端 API 一起使用來提供原始檔案。
來源文件可以是任何文字文件,我們在本例中使用.csv。

LOAD DATA LOCAL透過MySql將來源檔案複製到您的伺服器,因此應在伺服器端實施安全措施。

mysqlimport 實用程式在內部使用 LOAD DATA 語句。

您可以透過在語句中加入 IGNORE 1 LINES 來忽略 CSV 中的標頭。

How to Bulk Upload CSV file data into MySql Table? A very fast way using LOAD DATA.

?參考

官方文件

版本聲明 本文轉載於:https://dev.to/elpidaguy/how-to-bulk-upload-csv-file-data-into-mysql-table-a-very-fast-way-using-load-data-c44? 1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3