上面的要點片段顯示了通用載入資料語句。上面的程式碼中提到了所有可用的選項。
現在讓我們專注於一個簡單的範例,即簡單地讀取 .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 中的標頭。
官方文件
","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"}}您是否仍在使用“for”或“while”循環來迭代行並將它們插入資料庫?您還在編寫單獨的程式碼來讀取 .csv 檔案並將其上傳到 MySQL 資料庫嗎?
用MySQL提供的「LOAD DATA」語句對線性邏輯說「NO」。準備好更改程式碼以最大限度地減少行數並大幅提高效能。
MySql 提供了 LOAD DATA 語句,這是一種非常高速的方法,可以用很少的程式碼從文字檔案中讀取資料並將其插入到表中。
根據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 中的標頭。
官方文件
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3