經驗:使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM