top
Loading...
8.10.mysqlimport:數據導入程序
8.10. mysqlimport:數據導入程序

mysqlimport客戶端提供了LOAD DATA INFILEQL語句的一個命令行接口。mysqlimport的大多數選項直接對應LOAD DATA INFILE子句。參見13.2.5節,“LOAD DATA INFILE語法”。

這樣調用mysqlimport

shell> mysqlimport [options] db_name textfile1 [textfile2 ...]

對于在命令行中命名的每個文本文件,mysqlimport去掉文件名的擴展名并使用結果來確定將導入文件內容的表名。例如,文件 patient.txtpatient.textpatient均將導入表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 |
+------+---------------+
作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html
北斗有巢氏 有巢氏北斗