天天看點

經驗:使用mysqlimport快速導入csv檔案

mysqlimport 工具實際上也隻是“load data infile”指令的一個包裝實作。

常用選項:

--fields-terminated-by=字元串:設定字元串為字段之間的分隔符,可以為單個或多個字元。預設值為制表符“\t”。

-L, --local:表示從用戶端任意路徑讀取檔案導入表中,未設定該選項時,預設隻從datadir下同名資料庫目錄下讀取檔案導入

--ignore-lines=n:表示可以忽略前n行。

-l, --lock-tables:寫入時鎖定所有表

-p, --password[=name]:指定使用者密碼

-u, --user=name:指定登入MySQL使用者名

-h, --host=name:指定遠端連接配接的伺服器

-c, --columns=name:往表裡導入指定字段,如:--columns='Name,Age,Gender'

-C, --compress:在用戶端和伺服器之間啟用壓縮傳遞所有資訊

格式:

mysqlimport -h伺服器IP -P端口  -u使用者名 -p密碼 資料庫名  --fields-terminated-by=','  資料.csv --columns='列1,列2,列3' --local

指令:

mysqlimport -h127.0.0.1 -P3306  -uroot -pX123456 app_user  --fields-terminated-by=',' t1.csv --columns='a,b,c' --local

 傳回:

mysqlimport: [Warning] Using a password on the command line interface can be insecure.

app_user.t1: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0

如:出現“3948"号錯誤則:

set global local_infile = 1;

然後:

show variables like 'local_infile';

建表:

CREATE TABLE `t1` (

`a` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,

`b` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,

`c` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

資料.csv:

a,b,c

11,22,33

44,55,66

本文來自部落格園,作者:xiaoyongdata(微信号:xiaoyongdata),轉載請注明原文連結:https://www.cnblogs.com/xiaoyongdata/p/15676810.html