首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 數據導入導出實戰指南:mysqlimport 工具詳解與最佳實踐

     編輯:MySQL 資料庫相關知識

mysqlimport 簡介

mysqlimport 位於 MySQL 的 bin 目錄下,是 MySQL 官方提供的一款高效命令行數據導入工具。它能將文本文件的數據導入到指定的數據庫表中,支持豐富的參數和選項,是批量數據載入的首選工具。

基本語法與使用示例

基本語法結構:

mysqlimport [選項] 數據庫名 文本文件名

核心規則:文件名決定表名

工具會自動將導入文件的第一個句點(.)之前的字符串作為目標表名。例如:

  • mysqlimport Meet_A_Geek Customers.txt → 導入到 Customers 表
  • mysqlimport Meet_A_Geek Cus.to.mers.txt → 導入到 Cus 表

注意:文本文件的數據格式必須與目標表的記錄格式完全一致,否則會導入失敗並報錯。

常用選項詳細說明

選項 功能描述
-d / --delete 導入前刪除表中所有現有數據
-f / --force 遇到錯誤強制繼續插入,不中斷流程
-i / --ignore 跳過唯一鍵衝突的行,保留表中原有記錄
-l / --lock-tables 導入前鎖定表,防止併發查詢/更新受影響
-r / --replace 替換表中唯一鍵衝突的記錄(與 -i 相反)
--fields-enclosed-by=char 指定字段值的包裹字符(如雙引號),預設無包裹
--fields-terminated-by=char 指定字段分隔符(如逗號),預設為 Tab(\t)
--lines-terminated-by=str 指定行分隔符,預設為換行符(\n)
-v 顯示版本信息
-p 提示輸入密碼,增強安全性

實戰案例:導入 CSV 格式文件

源數據格式

"1", "ORD89876", "1 Dozen Roses", "19991226"

導入命令

bin/mysqlimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt

命令解析

  • bin/mysqlimport:指定執行程序路徑
  • -p:要求輸入密碼,提升操作安全性
  • -r:採用替換模式處理唯一鍵衝突
  • -l:導入期間鎖表,保證數據一致性
  • --fields-enclosed-by=":字段以雙引號包裹
  • --fields-terminated-by=,:字段間以逗號分隔
  • Meet_A_Geek:目標數據庫
  • Orders.txt:源文件(對應 Orders 表)

提示:熟悉選項後,mysqlimport 是自動化數據遷移、ETL 流程的強大助手。建議在生產環境使用前,先在測試環境驗證數據格式與選項組合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved