mysqlimport客戶端提供了LOAD DATA INFILEQL語句的一個命令行接口。mysqlimport的大多數選項直接對應LOAD DATA INFILE子句。參見13.2.5節,“LOAD DATA INFILE語法”。
這樣調用mysqlimport:
shell> mysqlimport [options] db_name textfile1 [textfile2 ...]
對于在命令行中命名的每個文本文件,mysqlimport去掉文件名的擴展名并使用結果來確定將導入文件內容的表名。例如,文件 patient.txt、patient.text和patient均將導入表patient。
mysqlimport支持下面的選項:
· ---help,-?
顯示幫助消息并退出。
· --columns=column_list, -c column_list
該選項采用用逗號分隔的列名作為其值。列名的順序指示如何匹配數據文件列和表列。
· --compress,-C
壓縮在客戶端和服務器之間發送的所有信息(如果二者均支持壓縮)。
· ---debug[=debug_options],-# [debug_options]
寫調試日志。debug_options字符串通常是'd:t:o,file_name'。
· --delete,-D
導入文本文件前清空表。
· --fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields-escaped-by=...,--lines-terminated-by=...
這些選項與LOAD DATA INFILE相應子句的含義相同。參見13.2.5節,“LOAD DATA INFILE語法”。
· --force,-f
忽視錯誤。例如,如果某個文本文件的表不存在,繼續處理其它文件。不使用--force,如果表不存在則mysqlimport退出。
· --host=host_name,-h host_name
將數據導入給定主機上的MySQL服務器。默認主機是localhost。
· --ignore,-i
參見--replace選項的描述。
· --ignore-lines=n
忽視數據文件的前n行。
· --local,-L
從本地客戶端讀入輸入文件。
· --lock-tables,-l
處理文本文件前鎖定所有表以便寫入。這樣可以確保所有表在服務器上保持同步。
· --password[=password],-p[password]
當連接服務器時使用的密碼。如果使用短選項形式(-p),選項和 密碼之間不能有空格。如果在命令行中--password或-p選項后面沒有 密碼值,則提示輸入一個密碼。
· --port=port_num,-P port_num
用于連接的TCP/IP端口號。
· --protocol={TCP | SOCKET | PIPE | MEMORY}
使用的連接協議。
· --replace,-r
--replace和--ignore選項控制復制唯一鍵值已有記錄的輸入記錄的處理。如果指定--replace,新行替換有相同的唯一鍵值的已有行。如果指定--ignore,復制已有的唯一鍵值的輸入行被跳過。如果不指定這兩個選項,當發現一個復制鍵值時會出現一個錯誤,并且忽視文本文件的剩余部分。
· --silent,-s
沉默模式。只有出現錯誤時才輸出。
· --socket=path,-S path
當連接localhost時使用的套接字文件(為默認主機)。
· --user=user_name,-u user_name
當連接服務器時MySQL使用的用戶名。
· --verbose,-v
冗長模式。打印出程序操作的詳細信息。
· --version,-V
顯示版本信息并退出。
這里是一個示例會話,顯示如何使用mysqlimport:
shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
shell> ed
a
100 Max Sydow
101 Count Dracula
.
w imptest.txt
32
q
shell> od -c imptest.txt
0000000 1 0 0 M a x S y d o w
1 0
0000020 1 C o u n t D r a c u l a
0000040
shell> mysqlimport --local test imptest.txt
test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
shell> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id | n |
+------+---------------+
| 100 | Max Sydow |
| 101 | Count Dracula |
+------+---------------+