mysqlimport
は、LOAD DATA
INFILE
SQL
ステートメントのコマンドラインインタフェースを提供します。mysqlimport
のほとんどのオプションが、LOAD DATA
INFILE
のオプションに対応しています。
See 項6.4.8. 「LOAD DATA INFILE
構文」。
mysqlimport
は以下のようにして起動します。
shell> mysqlimport [options] database textfile1 [textfile2 ...]
コマンドラインで指定した各テキストファイルについて、mysqlimport
は、ファイル名の拡張子を削除し、その結果を使用して、どのテーブルにファイルの内容をインポートするか決定します。たとえば、patient.txt
、patient.text
、および
patient
という名前のファイルは、すべて、patient
という名前のテーブルにインポートされます。
mysqlimport
は、以下のオプションをサポートします。
-c, --columns=...
このオプションは、カンマ区切りのフィールド名一覧を引数として取る。
フィールド一覧を使用して適切な LOAD
DATA INFILE
コマンドを作成し、それを
MySQL に渡す。 See 項6.4.8. 「LOAD DATA INFILE
構文」。
-C, --compress
クライアントとサーバの両方が圧縮をサポートする場合、クライアントとサーバ間の情報をすべて圧縮する。
-#, --debug[=option_string]
プログラムのトレース使用(デバック目的)。
-d, --delete
テキストファイルをインポートする前にテーブルを空にする。
--fields-terminated-by=...
,
--fields-enclosed-by=...
,
--fields-optionally-enclosed-by=...
,
--fields-escaped-by=...
,
--lines-terminated-by=...
これらのオプションは、LOAD DATA
INFILE
の対応する節と同じ意味を持つ。 See
項6.4.8. 「LOAD DATA INFILE
構文」。
-f, --force
エラーを無視する。たとえば、テキストファイル用のテーブルが存在しない場合でも、残りのファイルの処理を続行する。--force
を指定しない場合、テーブルが存在しなければ
mysqlimport
は終了する。
--help
ヘルプメッセージを表示して終了する。
-h host_name, --host=host_name
指定したホストの MySQL
サーバにデータをインポートする。デフォルトのホストは
localhost
。
-i, --ignore
--replace
オプションの説明を参照のこと。
--ignore-lines=n
データファイルの最初の n
行を無視する。
-l, --lock-tables
テキストファイルを処理する前に、すべてのテーブルへの書き込みをロックする。これにより、そのサーバ上のすべてのテーブルが同期化される。
-L, --local
クライアントから入力ファイルを読み取る。デフォルトでは、localhost
(デフォルトホスト)に接続した場合、テキストファイルはサーバにあると想定される。
-pyour_pass, --password[=your_pass]
サーバとの接続に使用するパスワード。'=your_pass
'
部分を指定しなければ、mysqlimport
によってパスワードのプロンプトが表示される。
-P port_num, --port=port_num
接続に使用する TCP/IP ポート番号。
--protocol=(TCP | SOCKET | PIPE | MEMORY)
使用する接続プロトコルを指定する。MySQL 4.1 で導入。
-r, --replace
--replace
オプションおよび
--ignore
オプションは、既存レコードの値と重複するユニークキー値を持つ入力レコードの処理を制御する。--replace
を指定した場合、新規レコードが同じユニークキー値を持つ既存レコードを上書きする。IGNORE
を指定すると、ユニークキー値が既存のレコードの値と重複する入力レコードは無視される。どちらも指定しない場合、重複キー値が検出されるとエラーになり、テキストファイルの残りの部分が無視される。
-s, --silent
サイレントモード。エラー発生時のみ出力する。
-S /path/to/socket,
--socket=/path/to/socket
localhost
(デフォルトホスト)との接続に使用するソケットファイル。
-u user_name, --user=user_name
サーバとの接続に使用する MySQL ユーザ名。デフォルト値はユーザの Unix ログイン名。
-v, --verbose
冗長モード。プログラムの実行内容に関する詳細を出力する。
-V, --version
バージョン情報を出力して終了する。
以下は、mysqlimport
使用の例です。
$ mysql --version mysql Ver 9.33 Distrib 3.22.25, for pc-linux-gnu (i686) $ uname -a Linux xxx.com 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown $ mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test $ ed a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q $ od -c imptest.txt 0000000 1 0 0 \t M a x S y d o w \n 1 0 0000020 1 \t C o u n t D r a c u l a \n 0000040 $ mysqlimport --local test imptest.txt test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 $ mysql -e 'SELECT * FROM imptest' test +------+---------------+ | id | n | +------+---------------+ | 100 | Max Sydow | | 101 | Count Dracula | +------+---------------+
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.