mysqlimport
クライアントは
LOAD
DATA INFILE
SQL
ステートメントにコマンドラインインタフェースを提供します。mysqlimport
に対するほとんどのオプションは
LOAD
DATA INFILE
構文の節に直接対応しています。項8.2.6. 「LOAD DATA
INFILE
構文」
を参照してください。
mysqlimport は以下のように起動してください。
shell> mysqlimport [options
] db_name
textfile1
[textfile2
...]
コマンドラインで指定されたテキストファイルごとに、mysqlimport
はファイル名の拡張子を取り除き、その結果をもとに、ファイル内容をインポートするテーブルの名前を決定します。たとえば、patient.txt
、patient.text
、そして
patient
と名づけられたファイルはすべて
patient
と名づけられたファイルにインポートされます。
mysqlimport は、次のリストに示すオプションをサポートします。また、オプションファイルを読み取り、Command-Line Options that Affect Option-File Handlingに説明されている、オプションファイルを処理するためのオプションもサポートします。
ヘルプメッセージを表示し、閉じます。
キャラクタセットがインストールされるディレクトリです。Character Set Configuration を参照してください。
--columns=
,
column_list
-c
column_list
このオプションはカンマによって分けられたカラム名のリストを値とします。カラム名の順序は、データファイルカラムとテーブルカラムをどのようにマッチするか示しています。
双方が圧縮をサポートしている場合、クライアント・サーバー間で行きかう情報をすべて圧縮します。
--debug[=
,
debug_options
]-#
[
debug_options
]
デバッグのログを書き込みます。debug_options
文字列は通常
'd:t:o,
になります。デフォルトは
file_name
''d:t:o'
です。
プログラムが閉じるときに、デバッグ情報をプリントします。このオプションは MySQL 5.1.21 で追加されました。
プログラムの終了時にデバッグ情報と、メモリーおよび CPU 使用率の統計を表示します。このオプションは MySQL 5.1.14 で追加されました。
--default-character-set=
charset_name
charset_name
をデフォルトキャラクタセットとして使用します。Character Set Configuration
を参照してください。
テキストファイルをインポートする前にテーブルを空にします。
--fields-terminated-by=...
,
--fields-enclosed-by=...
,
--fields-optionally-enclosed-by=...
,
--fields-escaped-by=...
これらのオプションは
LOAD
DATA INFILE
に対応する節と同じ意味を持っています。項8.2.6. 「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
"
を使用してください。(コマンドインタープリタのエスケプコンベンションによってはバックスラッシュを
2
つ加えなければいけない場合があります)。項8.2.6. 「LOAD DATA
INFILE
構文」
を参照してください。
クライアントホストからインプットファイルをローカルで読み込む。
テキストファイルを処理する前に、すべてのテーブルをロックします。これにより、すべてのテーブルがサーバー上でシンクロしていることを保証します。
テーブルロード時に
LOW_PRIORITY
を使用してください。このオプションは、テーブルレベルロックだけを使用するストレージエンジン
(MyISAM
、MEMORY
、MERGE
)
にのみ影響します。
--password[=
,
password
]-p[
password
]
サーバーに接続する際に使用するパスワードです。ショートオプションフォーム
(-p
)
を使用した場合、オプションとパスワードの間にスペースを置くことはできません。コマンドライン上で--password
あるいは-p
に続くオプションから
password
値を取り除いた場合、パスワード値を求められます。
コマンドライン上でのパスワードの特定は安全ではありません。End-User Guidelines for Password Security を参照してください。
Windows では、名前付きパイプを介してサーバーに接続します。このオプションは、ローカルサーバーへの接続で、サーバーが名前付きパイプ接続をサポートしている場合にのみ適用されます。
接続に使用する TCP/IP ポート番号です。
--protocol={TCP|SOCKET|PIPE|MEMORY}
サーバーへの接続に使用する接続プロトコルを指定します。このオプションは、ほかの接続パラメータによって、必要なプロトコル以外のものが通常使用される場合に役立ちます。使用できる値の詳細は、Connecting to the MySQL Serverを参照してください。
--replace
と--ignore
オプションは、ユニークキー上に存在する行を複製するインプット行のハンドリングをコントロールします。--replace
を特定した場合、同じユニークキー値を持つ現存の行は新しい行に取ってかわられます。--ignore
を特定した場合、ユニークキー値上に存在する行を複製するインプット行はスキップされます。どちらのオプションも特定しなかった場合、重複キー値が発見されたときエラーが発生し、残りのテキストファイルは無視されます。
サイレントモード。エラーが発生したときのみ出力を生成します。
localhost
の接続用に使用する、UNIX
ではソケットファイル、Windows
では使用する名づけられたパイプ。
--ssl
で始まるオプションは、SSL
を介してサーバーに接続し、SSL
キーや証明の場所を明示するか否かを指定します。SSL Command Options
を参照してください。
--user=
,
user_name
-u
user_name
サーバーへの接続時に使用する MySQL ユーザー名です。
N
個のスレッドを使用して複数のファイルを並列にロードします。このオプションは
MySQL 5.1.7 で追加されました。
冗長モード。プログラム実行に関する情報を出力する。
バージョン情報を表示し、閉じます。
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 | +------+---------------+