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

現在讓我們專注於一個簡單的範例,即簡單地讀取 .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
瀏覽:818

?介紹

您是否仍在使用“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]刪除
最新教學 更多>
  • 我的 Amazon SDE 面試經驗 – 5 月 4 日
    我的 Amazon SDE 面試經驗 – 5 月 4 日
    我的 Amazon SDE 面试经历 – 2024 年 5 月 2024 年 5 月,我有机会面试亚马逊的软件开发工程师 (SDE) 职位。这一切都始于一位招聘人员通过 LinkedIn 联系我。我很惊喜,因为它总是令人兴奋。 一切是如何开始的 招聘人员专业且清晰,...
    程式設計 發佈於2024-11-08
  • 如何在 cURL POST 請求中傳送多個影像?
    如何在 cURL POST 請求中傳送多個影像?
    在cURL POST 請求中使用陣列在嘗試使用cURL 傳送影像陣列時,使用者可能會遇到僅第一個影像的問題傳輸數組值。這個問題探討如何修正這個問題。 原始程式碼似乎在陣列結構上有一個小缺陷。要解決此問題,建議使用 http_build_query 來正確格式化陣列:$fields = array( ...
    程式設計 發佈於2024-11-08
  • 為什麼 $_POST 中的 Axios POST 資料不可存取?
    為什麼 $_POST 中的 Axios POST 資料不可存取?
    Axios Post 參數未由$_POST 讀取您正在使用Axios 將資料發佈到PHP 端點,並希望在$ 中存取它_POST 或$_REQUEST。但是,您目前無法檢測到它。 最初,您使用了預設的 axios.post 方法,但由於懷疑標頭問題而切換到提供的程式碼片段。儘管發生了這種變化,數據仍然...
    程式設計 發佈於2024-11-08
  • ## JPQL 中的建構函數表達式:使用還是不使用?
    ## JPQL 中的建構函數表達式:使用還是不使用?
    JPQL 中的建構子表達式:有益或有問題的實踐? JPQL 提供了使用建構函式表達式在 select 語句中建立新物件的能力。雖然此功能提供了某些優勢,但它引發了關於其在軟體開發實踐中是否適用的問題。 建構函數表達式的優點建構函數表達式允許開發人員從實體中提取特定資料並進行組裝,從而簡化了資料檢索將...
    程式設計 發佈於2024-11-08
  • 原型
    原型
    創意設計模式之一。 用於建立給定物件的重複/淺副本。 當直接建立物件成本高昂時,此模式很有用,例如:如果在查詢大型資料庫後建立對象,則一次又一次地建立該物件在效能方面並不經濟。 因此,一旦創建了對象,我們就緩存該對象,並且在將來需要相同的對象時,我們從緩存中獲取它,而不是從數據庫中再次創建它,...
    程式設計 發佈於2024-11-08
  • Python 變數:命名規則和型別推斷解釋
    Python 變數:命名規則和型別推斷解釋
    Python 是一種廣泛使用的程式語言,以其簡單性和可讀性而聞名。了解變數的工作原理是編寫高效 Python 程式碼的基礎。在本文中,我們將介紹Python變數命名規則和類型推斷,確保您可以編寫乾淨、無錯誤的程式碼。 Python變數命名規則 在Python中命名變數時,必須遵循一...
    程式設計 發佈於2024-11-08
  • 如何同時有效率地將多個欄位新增至 Pandas DataFrame ?
    如何同時有效率地將多個欄位新增至 Pandas DataFrame ?
    同時向Pandas DataFrame 添加多個列在Pandas 資料操作中,有效地向DataFrame 添加多個新列可能是一項需要優雅解決方案的任務。雖然使用帶有等號的列列表語法的直覺方法可能看起來很簡單,但它可能會導致意外的結果。 挑戰如提供的範例所示,以下語法無法如預期建立新欄位:df[['c...
    程式設計 發佈於2024-11-08
  • 從開發人員到資深架構師:技術專長與奉獻精神的成功故事
    從開發人員到資深架構師:技術專長與奉獻精神的成功故事
    一個開發人員晉升為高級架構師的真實故事 一位熟練的Java EE開發人員,只有4年的經驗,加入了一家跨國IT公司,並晉升為高級架構師。憑藉著多樣化的技能和 Oracle 認證的 Java EE 企業架構師,該開發人員已經證明了他在架構領域的勇氣。 加入公司後,開發人員被分配到一個項目,該公司在為汽...
    程式設計 發佈於2024-11-08
  • 如何在 PHP 8.1 中有條件地將元素新增至關聯數組?
    如何在 PHP 8.1 中有條件地將元素新增至關聯數組?
    條件數組元素添加在 PHP 中,有條件地將元素添加到關聯數組的任務可能是一個挑戰。例如,考慮以下數組:$arr = ['a' => 'abc'];我們如何有條件地添加'b' => 'xyz'使用array() 語句對此陣列進行運算?在這種情況下,三元運算子不是一...
    程式設計 發佈於2024-11-08
  • 從打字機到像素:CMYK、RGB 和建立色彩視覺化工具的旅程
    從打字機到像素:CMYK、RGB 和建立色彩視覺化工具的旅程
    當我還是個孩子的時候,我出版了一本關於漫畫的粉絲雜誌。那是在我擁有計算機之前很久——它是用打字機、紙和剪刀創建的! 粉絲雜誌最初是黑白的,在我的學校複印的。隨著時間的推移,隨著它取得了更大的成功,我能夠負擔得起帶有彩色封面的膠印! 然而,管理這些顏色非常具有挑戰性。每個封面必須列印四次,每種顏色...
    程式設計 發佈於2024-11-08
  • 如何將 Boehm 的垃圾收集器與 C++ 標準函式庫整合?
    如何將 Boehm 的垃圾收集器與 C++ 標準函式庫整合?
    整合 Boehm 垃圾收集器和 C 標準庫要將 Boehm 保守垃圾收集器與 C標準庫集合無縫集成,有兩種主要方法:重新定義運算符::new此方法涉及重新定義運算符::new以使用Boehm的GC。但是,它可能與現有 C 程式碼衝突,並且可能無法在不同編譯器之間移植。 明確分配器參數您可以使用而不是...
    程式設計 發佈於2024-11-08
  • 如何優化子集驗證以獲得頂級效能?
    如何優化子集驗證以獲得頂級效能?
    優化子集驗證:確保每一位都很重要確定一個清單是否是另一個清單的子集的任務在程式設計中常遇到。雖然交叉列表和比較相等性是一種簡單的方法,但考慮效能至關重要,尤其是對於大型資料集。 考慮到這種情況,需要考慮的一個關鍵因素是任何清單在多個測試中是否保持不變。由於您的場景中的其中一個清單是靜態的,因此我們可...
    程式設計 發佈於2024-11-08
  • 如何處理超出 MySQL BIGINT 限制的大整數?
    如何處理超出 MySQL BIGINT 限制的大整數?
    超出MySQL BIGINT 限制的大整數處理超出MySQL BIGINT 限制的大整數處理MySQL 的BIGINT 資料型別可能看起來是最廣泛的整數表示形式,但在處理時會出現限制超過20 位的數字。 超出BIGINT 的選項邊界當儲存需求超出BIGINT的能力時,會出現兩個選項:儲存為VARCH...
    程式設計 發佈於2024-11-08
  • 如何確保 Python Selenium 中載入多個元素?
    如何確保 Python Selenium 中載入多個元素?
    Python Selenium:確保多個元素載入透過AJAX 處理動態載入的元素時,確認其外觀可能具有挑戰性。為了處理這種情況,我們將利用 Selenium 的 WebDriverWait 及其各種策略來確保多個元素的存在。 所有元素的可見性:驗證所有與特定選擇器匹配的元素,我們可以使用visibi...
    程式設計 發佈於2024-11-08
  • 了解 JavaScript 中的標記模板文字
    了解 JavaScript 中的標記模板文字
    什麼是標記模板文字? 帶有標籤的模板文字涉及以函數為前綴的模板文字,稱為標籤。此函數可以處理和操作文字的內容。這是一個簡單的例子: function tag(strings, ...values) { console.log(strings); console.lo...
    程式設計 發佈於2024-11-08

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

Copyright© 2022 湘ICP备2022001581号-3