首頁 > 資料庫 > mysql教程 > 如何有效率地將CSV資料匯入MySQL表,同時處理資料錯位和解析錯誤?

如何有效率地將CSV資料匯入MySQL表,同時處理資料錯位和解析錯誤?

Susan Sarandon
發布: 2024-12-19 03:09:13
原創
549 人瀏覽過

How Can I Efficiently Import CSV Data into MySQL Tables While Handling Data Misalignment and Parsing Errors?

將 CSV 檔案匯入 MySQL 表

問題:無法將資料從 CSV 檔案正確載入到MySQL表格有缺失或未對齊等問題

分析:

使用LOAD DATA INFILE 的原始方法由於跨多行的文本簡介解析不正確以及缺乏正確的分隔符號規範而出現錯誤。

解決方案1(使用LOAD DATA INFILE):

為了解決這些問題,LOAD DATA INFILE 語句已修改為包含以下參數:

  • COLUMNS TERMINATED BY ',':指定列分隔符號作為逗號。
  • 可選地用 '"' 括起來:表示文字欄位可以用雙引號括起來。
  • ESCAPED BY '"':指定文字欄位中的雙引號被轉義。
  • LINES TERMINATED BY 'n':表示行終止透過換行符。
  • IGNORE 1 LINES:忽略 CSV 檔案的第一行,通常包含列名。

這修正了解析問題,但資料仍然未對齊。

解決方案 2(使用 mysqlimport):

將 CSV 檔案匯入 MySQL 的一種更有效、更可靠的方法是使用 mysqlimport 實用程式。它提供了額外的選項來指定分隔符號和其他導入參數。

要使用 mysqlimport:

  1. 建立資料庫和表格:建立資料庫和表格到您想要匯入 CSV 資料。
  2. 使用命令:執行以下命令命令,替換;和與您的特定資料庫和表名稱:
mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv
登入後複製
  • --ignore-lines=1:忽略CSV 檔案的第一行,通常包含列名稱。
  • --fields-termerated-by=,: 指定列分隔符號為逗號。
  • --local:表示資料位於本機上。
  • -u root:指定 MySQL 使用者(在本例中為「root」)。
  • -p:提示輸入 MySQL 密碼。

此方法提供了一種更精確、更有效率的方式將 CSV 資料匯入 MySQL 表。

以上是如何有效率地將CSV資料匯入MySQL表,同時處理資料錯位和解析錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板