mysqlimportクライアントはLOAD
DATA
INFILE
SQLステートメントにコマンドラインインターフェースを提供します。
mysqlimportに対する殆どのオプションはLOAD
DATA
INFILE
構文の節に直接対応しています。項12.2.5. 「LOAD DATA INFILE
構文」
を参照してください。
mysqlimportは以下のように起動してください。
shell> mysqlimport [options
] db_name
textfile1
[textfile2
...]
コマンドラインで名づけられた各テキストファイルごとに、mysqlimportはファイルネームの拡張を取り除き、結果をファイルの内容をインポートするテーブルの名前を決定します。例えば、patient.txt
、patient.text
、そしてpatient
と名づけられたファイルは全てpatient
と名づけられたファイルにインポートされます。
mysqlimportは次のオプションをサポートします。
ヘルプ メッセージを表示し、閉じます。
キャラクタ セットがインストールされるディレクトリです。項4.10.1. 「データおよびソート用キャラクタ セット」 を参照してください。
--columns=
,
column_list
-c
column_list
このオプションはカンマによって分けられたカラム名のリストを値とします。カラム名の順序は、データファイルカラムとテーブルカラムをどのようにマッチするか示しています。
双方が圧縮をサポートしている場合、クライアント・サーバ間で行きかう情報を全て圧縮します。
--debug[=
,
debug_options
]-#
[
debug_options
]
デバッグのログを書き込みます。debug_options
文字列は大抵
'd:t:o,
になります。
file_name
'
--default-character-set=
charset_name
charset_name
をデフォルトキャラクタセットとして使用します。項4.10.1. 「データおよびソート用キャラクタ セット」
を参照してください。
テキストファイルをインポートする前にテーブルを空にします。
--fields-terminated-by=...
,
--fields-enclosed-by=...
,
--fields-optionally-enclosed-by=...
,
--fields-escaped-by=...
これらのオプションはLOAD DATA
INFILE
に対応する節と同じ意味を持っています。項12.2.5. 「LOAD DATA INFILE
構文」
を参照してください。
エラーを無視します。例えば、テキストファイルのテーブルが存在しない場合、残ったファイルの処理を続行します。--force
なしでは、テーブルが存在しない場合mysqlimportは抜けます。
--host=
,
host_name
-h
host_name
与えられたホスト上でMySQLサーバからデータをインポートします。デフォルト設定では、localhost
がホストになります。
--replace
オプションの詳細を参照してください。
データファイルの最初のN
ラインを無視します。
これらのオプションはLOAD DATA
INFILE
に対応する節と同じ意味を持っています。例えば、carriage
return/linefeed
pairsでラインを消去されたWindowsファイルをインポートする場合、--lines-terminated-by="\r\n"
を使用してください。(コマンドインタープリタのエスケプコンベンションによってはバックスラッシュを二つ加えなければいけない場合があります。)項12.2.5. 「LOAD DATA INFILE
構文」
を参照してください。
クライアントホストからインプットファイルをローカルで読み込む。
テキストファイルを処理する前に、全てのテーブルをロックします。これにより、全てのテーブルがサーバ上でシンクロしていることを保証します。
テーブルロード時にLOW_PRIORITY
を使用してください。
--password[=
,
password
]-p[
password
]
サーバに接続する際使用するパスワードです。ショートオプションフォーム(-p
)を使用した場合、オプションとパスワードの間にスペースを置くことはできません。コマンドライン上で--password
あるいは-p
に続くオプションからpassword
値を取り除いた場合、パスワード値を求められます。
コマンドライン上でのパスワードの特定は安全ではありません。項4.8.6. 「パスワードのセキュリティ」 を参照してください。
コネクションに使用するTCP/IPポート番号です。
--protocol={TCP|SOCKET|PIPE|MEMORY}
使用するべき接続プロトコルです。
--replace
と--ignore
オプションは、ユニークキー上に存在する行を複製するインプット行のハンドリングをコントロールします。--replace
を特定した場合、同じユニークキー値を持つ現存の行は新しい行に取ってかわられます。--ignore
を特定した場合、ユニークキー値上に存在する行を複製するインプット行はスキップされます。どちらのオプションも特定しなかった場合、複製キー値が発見されたときエラーが発生し、残りのテキストファイルは無視されます。
サイレントモード。エラーが発生したときのみアウトプットを生成します。
localhost
の接続用に使用する、ユニックスではソケットファイル、Windowsでは使用する名づけられたパイプ。
--ssl
で始まるオプションは、SSLを介してサーバに接続し、SSL
キーや証明の場所を明示するか否かを指定します。項4.8.7.3. 「SSL コマンド オプション」
を参照してください。
--user=
,
user_name
-u
user_name
サーバに接続する際使用するMySQLユーザ名です。
Verbose モードプログラムの動作についてさらに情報をプリントアウトする。
バージョン情報を表示し、閉じます。
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 \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 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 | +------+---------------+