データのインポート・エクスポートファイル読込
- ファイルに記述されたSQL文を実行〔USE文+SOURCE文使用〕
- ファイルに記述されたSQL文を実行〔mysqlコマンド使用〕
- LOAD DATA INFILE 文について
- mysqlimportコマンドについて
- ファイルからデータをテーブルにインポート〔LOAD DATA INFILE 文/mysqlimport コマンド〕
- ファイルからデータをテーブルにインポート(フィールド名が含まれる先頭行を飛ばす)〔LOAD DATA INFILE 文/mysqlimport コマンド〕
- ファイルからデータをテーブルにインポート(任意の行数目から)〔LOAD DATA INFILE 文/mysqlimport コマンド〕
- mysqlimportコマンドのヘルプ表示
ファイルに記述されたSQL文を実行
USE文+SOURCE文使用
unknown
mysql> SOURCE ファイル名
USE文でインポート先のテーブル(tbl_Customer)があるデータベース(db_User)を選択し、SOURCE文でファイル(insert.sql)を読み込み、ファイルに記述されたSQL文を実行します。
INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U001','花子','鈴木','f',21); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U002','太郎','田中','m',30); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U003','一郎','鈴木','m',45); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U004','萌子','山口','f',18); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U005','愛','森永','f',21); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U006','太郎','鈴木','m',22); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U007','花子','佐藤','f',35);
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | UserID | varchar(4) | | PRI | | | | FirstName | varchar(32) | | | | | | LastName | varchar(32) | | | | | | Sex | char(2) | YES | | NULL | | | Age | int(11) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+
# データベース選択 mysql> USE db_User Enter Database changed # SOURCE文でテキストファイルを読み込む mysql> SOURCE c:\mysql\data\insert.sql Enter Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.00 sec) # 正しくインポートされたかテーブルの内容を確認 mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U001 | 花子 | 鈴木 | f | 21 | | U002 | 太郎 | 田中 | m | 30 | | U003 | 一郎 | 鈴木 | m | 45 | | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 7 rows in set (0.00 sec)
ファイルに記述されたSQL文を実行
mysqlコマンド使用
unknown
Enter password: パスワード
SQL文の記述されたファイル(insert.sql)を読み込み、そのSQL文を実行します。 上述のUSE文+SOURCE文を使用するのと処理は同じですが、簡潔に一文で素早くインポートできます。
INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U001','花子','鈴木','f',21); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U002','太郎','田中','m',30); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U003','一郎','鈴木','m',45); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U004','萌子','山口','f',18); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U005','愛','森永','f',21); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U006','太郎','鈴木','m',22); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U007','花子','佐藤','f',35);
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | UserID | varchar(4) | | PRI | | | | FirstName | varchar(32) | | | | | | LastName | varchar(32) | | | | | | Sex | char(2) | YES | | NULL | | | Age | int(11) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+
# ローカルにある「insert.sql」に書かれたSQL文を # db_Userデータベースに対して実行 C:\mysql\bin> mysql -u root -p db_User < c:\mysql\data\insert.sql Enter Enter password: ***** Enter # 正しくSQL文が実行されたか確認 C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ***** Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 15 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U001 | 花子 | 鈴木 | f | 21 | | U002 | 太郎 | 田中 | m | 30 | | U003 | 一郎 | 鈴木 | m | 45 | | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 7 rows in set (0.08 sec)
LOAD DATA INFILE 文について
unknown
CSV形式のファイルの内容を、指定したテーブルに読み込みます。
読み込むファイル形式のデフォルト値は、データはタブ区切り(\t
)、行の終端は改行文字(\r\n
)です。
デフォルトと異なる形式の場合は、オプションで指定します。
読み込むファイル名は、フルパスで指定します。
パス内に「\記号」が含まれる場合は、\\
と2つ続けて記述します。
引数名 | 説明 |
---|---|
LOW_PRIORITY | 他の処理よりも優先しない。 |
CONCURRENT | 処理実行中に、他のスレッドがこのテーブルからデータを取り出すことを許可。 |
LOCAL | FILE権限がなくても、ローカルファイルの読み込みを許可。IGNOREと同様、行の重複エラーが発生しても、挿入処理を続行します。 |
REPLACE | 同じユニークキーを持つ既存の行は、新しい行で置換します。 |
IGNORE | 既存の行とユニークキーと重複するキーを持つ新しい行は無視する。 |
IGNORE 数値 LINES | ファイルの先頭にある行を無視する。 |
FIELDS [OPTIONALLY] ENCLOSED BY |
各値のシングルクウォートを制御します。省略した場合、全ての値は ENCLOSED BY で指定した囲い文字で囲まれます。
指定した場合は、CHAR型・VARCHAR型の値(つまり数値以外)が ENCLOSED BY で指定した囲い文字で囲まれます。 ENCLOSED BY で指定した囲い文字が値の両端にある場合は、その文字を削除して囲まれます。 |
ESCAPED BY | 特殊文字をエスケープします。バックスラッシュをエスケープ文字として指定するには、'\\ 'とします。
FIELDS ESCAPED BY を省略した場合は、エスケープ処理は行われません。 |
mysqlimportコマンドについて
unknown
CSV形式のファイルの内容を、指定したテーブルに読み込みます。
読み込むファイル形式のデフォルト値は、データはタブ区切り(\t
)、行の終端は改行文字(\r\n
)です。
デフォルトと異なる形式の場合は、オプションで指定します。
mysqlimportコマンドは、LOAD DATA INFILE文のコマンドライン版みたいなもので、大半のオプションが、LOAD DATA INFILE文のオプションに対応しています。
LOAD DATA INFILE文との違いは、 読み込むファイル名の拡張子を削除した名前によって、どのテーブルにファイルをインポートするか決定することです。 読み込むファイルの拡張子は何でもかまいませんし、なくてもかまいませんが、インポート先のテーブルの名前をファイル名につけておく必要があります。
例えば、「hoge.txt」「hoge.tab」「hoge」 などの名前のファイルは、いずれもhogeテーブルにインポートされます。
読み込むファイル名はフルパスで指定します。
パス内に「\記号」が含まれる場合は、\\
と2つ続けて記述します。
mysqlimportのオプション
カンマ区切りのフィールド名一覧を引数として取り、その一覧を使って適切なLOAD DATA INFILE文を作成し、MySQLに渡します。
クライアントとサーバーが共に圧縮をサポートしている場合、クライアントとサーバー間の情報を全て圧縮します。
プログラムのトレース使用(デバック目的)。
ファイルをインポートする前に、インポート先のテーブルを空にします。
--fields-enclosed-by=...,
--fields-optionally-enclosed-by=...,
--fields-escaped-by=...,
--lines-terminated-by=...
LOAD DATA INFILE文の対応する説と同じ意味。
ファイルで指定したテーブルが存在しない場合、エラーを無視して、残りのファイルの処理を続行します。 -fを指定しなかった場合は、テーブルが存在しなければmysqlimportが終了します。
ヘルプ表示。
指定したホストのMySQLサーバーにデータをインポートします。
デフォルトのホストは、localホストです。
データファイルの最初のn行を無視します。
ファイルを処理する前に、全テーブルへの書込みをロックします。
これにより、サーバー上の全テーブルが同期(同じ状態になる)されます。
クライアントから入力ファイルを読み取ります。 デフォルトでは、デフォルトホスト(localhost)に接続した場合、 ファイルはサーバーにあると想定されます。
サーバー接続する時に使用するパスワード。
=your_pass
部分を省略すれば、mysqlimportによってパスワードの入力プロンプトが表示されます。
サーバー接続に使用するTCP/IPポート番号。
使用する接続プロトコルを指定します。
--r, --replace
--replace及び--ignoreを指定した場合に、 既存のレコードの値と重複するユニークキーを持つ入力レコードの処理を制御します。
--replaceを指定した場合に、ユニークキーの重複があると、 既存のデータを新しいレコードの値で上書きします。
--ignoreを指定した場合に、ユニークキーに重複があると、何も処理されず無視されます。
どちらも指定しなかった場合は、重複があるとエラーになり、ファイルの残りの部分が無視され処理が終了します。
サイレントモード。エラー発生時のみ出力します。
--socket=/path/to/socket
localhost(デフォルトホスト)接続に使用するソケットファイル。
サーバー接続に使用するMySQLのユーザー名。デフォルトはユーザーのUnixログイン名。
冗長モード。プログラムの実行内容に関する詳細を出力。
バージョン情報を出力して終了。
ファイルからデータをテーブルにインポート
LOAD DATA INFILE 文/mysqlimport コマンド
unknown
\r\n
)のCSV形式のファイル「tbl_Customer.csv」の内容をデータベース(tblUser)にあるテーブル(tbl_Customer)に読み込みます。
読み込むファイルの名前は、LOAD DATA INFILE文を使用する場合は何でもかまいませんが、 mysqlimportコマンドを使用する場合は、インポート先のテーブル名をファイル名にする必要があります。
mysql> DESCRIBE tbl_customer; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | UserID | varchar(4) | | PRI | | | | FirstName | varchar(32) | | | | | | LastName | varchar(32) | | | | | | Sex | char(2) | YES | | NULL | | | Age | int(11) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 5 rows in set (0.07 sec)
userID フィールドは、PRIMARY KEY(主キー)属性を指定しているため、挿入する値はユニークでなければなりません。 値に重複があると、エラーになります。
U001,花子,鈴木,f,21 U002,太郎,田中,m,30 U003,一郎,鈴木,m,45 U004,萌子,山口,f,18 U005,愛,森永,f,21 U006,太郎,鈴木,m,22 U007,花子,佐藤,f,35
例を、LOAD DATA INFILE文、mysqlimportコマンド を使って、ファイルをテーブルにインポートします。 記述方法は異なりますが、同じ動作をします。
LOAD DATA INFILE文を使用する場合
FIELDS TERMINATED BY '区切り文字' LINES TERMINATED BY '改行文字';
※1※
文字列をシングルクウォーテーション(')またはダブルクウォーテーション(")で括っている場合は、
指定する必要がありますが、それ以外は不要です。
U001,花子,鈴木,f,21 U002,太郎,田中,m,30 U003,一郎,鈴木,m,45 U004,萌子,山口,f,18 U005,愛,森永,f,21 U006,太郎,鈴木,m,22 U007,花子,佐藤,f,35
C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ***** Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. # CSV形式のファイル(tbl_Customer.csv)を tbl_Customer テーブルに読み込む # データ区切りはタブ(\t)、行の終端は改行文字(\r\n) mysql> LOAD DATA INFILE 'c:\\mysql\\data\\tbl_Customer.csv' Enter -> INTO TABLE tbl_Customer Enter -> FIELDS TERMINATED BY ',' Enter -> LINES TERMINATED BY '\r\n'; Enter Query OK, 8 rows affected (0.01 sec) Records: 8 Deleted: 0 Skipped: 0 Warnings: 3 # 正しくインポートされているか、テーブルの内容を確認 mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | User | FirstName | LastName | Se | 0 | | U001 | 花子 | 鈴木 | f | 21 | | U002 | 太郎 | 田中 | m | 30 | | U003 | 一郎 | 鈴木 | m | 45 | | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 8 rows in set (0.00 sec)
mysqlimportコマンドを使用する場合
Enter password: パスワード
C:\mysql\bin> mysqlimport -u root -p --fields-terminated-by=, --lines-terminated-by=\r\n --local db_User c:\mysql\data\tbl_Customer.csv Enter Enter password: ******* Enter db_User.tbl_Customer: Records: 7 Deleted: 0 Skipped: 0 Warnings: 0 # 正しくインポートされているか、テーブルの内容を確認 C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ******* Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 44 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U001 | 花子 | 鈴木 | f | 21 | | U002 | 太郎 | 田中 | m | 30 | | U003 | 一郎 | 鈴木 | m | 45 | | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 7 rows in set (0.00 sec)
ファイルからデータをテーブルにインポート(フィールド名が含まれる先頭行を飛ばす)
LOAD DATA INFILE 文/mysqlimport コマンド
unknown
\r\n
)のCSV形式のファイル「tbl_Customer.csv」からフィールド名を含む先頭の行を飛ばして、2行目以降のデータをデータベース(db_User)にあるテーブル(tbl_Customer)に読み込みます。
先頭行を飛ばして2行目のデータからテーブルに読み込む場合は、
IGNORE 1 LINES
指定します。
- 読み込むファイルの拡張子は何でもかまいませんし、なくてもかまいません。
- 読み込むファイルの名前は、LOAD DATA INFILE文を使用する場合は何でもかまいませんが、mysqlimportコマンドを使用する場合は、インポート先のテーブル名をファイル名にする必要があります。
UserID,FirstName,LastName,Sex,Age U001,花子,鈴木,f,21 U002,太郎,田中,m,30 U003,一郎,鈴木,m,45 U004,萌子,山口,f,18 U005,愛,森永,f,21 U006,太郎,鈴木,m,22 U007,花子,佐藤,f,35
例を、LOAD DATA INFILE文、mysqlimportコマンド を使って、 読み込むファイルの2行目以降のデータをテーブルにインポートします。 記述方法は異なりますが、同じ動作をします。
LOAD DATA INFILE文を使用する場合
FIELDS TERMINATED BY '区切り文字' LINES TERMINATED BY '改行文字'
IGNORE 1 LINES
C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ***** Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. # ファイルの最初の1行を飛ばしてインポート mysql> LOAD DATA INFILE 'c:\\mysql\\data\\data_in_column.csv' Enter -> INTO TABLE tbl_Customer Enter -> FIELDS TERMINATED BY ',' Enter -> LINES TERMINATED BY '\r\n' Enter -> IGNORE 1 LINES; Enter Query OK, 7 rows affected (0.00 sec) Records: 7 Deleted: 0 Skipped: 0 Warnings: 0 # 正しくインポートされているか、テーブルの内容を確認 mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U001 | 花子 | 鈴木 | f | 21 | | U002 | 太郎 | 田中 | m | 30 | | U003 | 一郎 | 鈴木 | m | 45 | | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 7 rows in set (0.00 sec) mysql>
mysqlimportコマンドを使用する場合
# ファイルの最初の1行を飛ばしてインポート C:\mysql\bin> mysqlimport -u root -p --fields-terminated-by=, --lines-terminated-by=\r\n --ignore-lines=1 --local db_User c:\mysql\data\tbl_Customer.csv Enter Enter password: ******* Enter db_User.tbl_Customer: Records: 7 Deleted: 0 Skipped: 0 Warnings: 0 # 正しくインポートされているか、テーブルの内容を確認 C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ******* Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 51 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U001 | 花子 | 鈴木 | f | 21 | | U002 | 太郎 | 田中 | m | 30 | | U003 | 一郎 | 鈴木 | m | 45 | | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 7 rows in set (0.00 sec)
ファイルからデータをテーブルにインポート(任意の行数目から)
LOAD DATA INFILE 文/mysqlimport コマンド
unknown
\r\n
)のCSV形式のファイル「tbl_Customer.csv」の内容を指定した任意の行数目以降のデータをデータベース(db_User)にあるテーブル(tbl_Customer)に読み込みます。
ファイルの任意の行数目のデータからテーブルにインポートしたい場合は、IGNORE 数値 LINES
に、「インポートしたい行 - 1」の数値を指定します。
例えば、ファイル4行目からインポートしたい場合は、IGNORE 3 LINES
となります。
例を、LOAD DATA INFILE文、mysqlimportコマンド を使って、ファイルの任意の行数目以降のデータをテーブルにインポートします。 記述方法は異なりますが、同じ動作をします。
LOAD DATA INFILE文を使用する場合
FIELDS TERMINATED BY '区切り文字' LINES TERMINATED BY '改行文字'
IGNORE 数値 LINES
U001,花子,鈴木,f,21 U002,太郎,田中,m,30 U003,一郎,鈴木,m,45 U004,萌子,山口,f,18 U005,愛,森永,f,21 U006,太郎,鈴木,m,22 U007,花子,佐藤,f,35
C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ***** Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. # ファイルの4行目からインポート mysql> LOAD DATA INFILE 'c:\\mysql\\data\\data_in_column.csv' Enter -> INTO TABLE tbl_Customer Enter -> FIELDS TERMINATED BY ',' Enter -> LINES TERMINATED BY '\r\n' Enter -> IGNORE 3 LINES; Enter Query OK, 4 rows affected (0.00 sec) Records: 4 Deleted: 0 Skipped: 0 Warnings: 0 # 正しくインポートされているか、テーブルの内容を確認 mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 4 rows in set (0.00 sec)
mysqlimportコマンドを使用する場合
C:\mysql\bin> mysqlimport -u root -p --fields-terminated-by=, --lines-terminated-by=\r\n --ignore-lines=3 --local db_User c:\mysql\data\tbl_Customer.csv Enter Enter password: ******* Enter db_User.tbl_Customer: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0 # 正しくインポートされているかテーブルの内容を確認 C:\mysql\bin> mysql -u root -p db_User Enter Enter password: ******* Enter Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 48 to server version: 4.0.26-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT * FROM tbl_Customer; Enter +--------+-----------+----------+------+------+ | UserID | FirstName | LastName | Sex | Age | +--------+-----------+----------+------+------+ | U004 | 萌子 | 山口 | f | 18 | | U005 | 愛 | 森永 | f | 21 | | U006 | 太郎 | 鈴木 | m | 22 | | U007 | 花子 | 佐藤 | f | 35 | +--------+-----------+----------+------+------+ 4 rows in set (0.00 sec)
mysqlimportコマンドのヘルプ表示
unknown
C:\mysql\bin> mysqlimport --help Enter
mysqlimport Ver 3.4 Distrib 4.0.26, for Win32 (ia32)
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Loads tables from text files in various formats. The base name of the
text file must be the name of the table that should be used.
If one uses sockets to connect to the MySQL server, the server will open and
read the text file directly. In other cases the client will open the text
file. The SQL command 'LOAD DATA INFILE' is used to import the rows.
Usage: mysqlimport [OPTIONS] database textfile...
Default options are read from the following files in the given order:
C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf
The following groups are read: mysqlimport client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit
--no-defaults Don't read default options from any options file
--defaults-file=# Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read
--character-sets-dir=name
Directory where character sets are
--default-character-set=name
Set the default character set.
-c, --columns=name Use only these columns to import the data to. Give the
column names in a comma separated list. This is same as
giving columns to LOAD DATA INFILE.
-C, --compress Use compression in server/client protocol.
-#, --debug[=name] Output debug log. Often this is 'd:t:o,filename'
-d, --delete First delete all rows from table.
--fields-terminated-by=name
Fields in the textfile are terminated by ...
--fields-enclosed-by=name
Fields in the importfile are enclosed by ...
--fields-optionally-enclosed-by=name
Fields in the i.file are opt. enclosed by ...
--fields-escaped-by=name
Fields in the i.file are escaped by ...
-f, --force Continue even if we get an sql-error.
-?, --help Displays this help and exits.
-h, --host=name Connect to host.
-i, --ignore If duplicate unique key was found, keep old row.
--ignore-lines=# Ignore first n lines of data infile.
--lines-terminated-by=name
Lines in the i.file are terminated by ...
-L, --local Read all files through the client
-l, --lock-tables Lock all tables for write.
--low-priority Use LOW_PRIORITY when updating the table
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's asked from the tty.
-W, --pipe Use named pipes to connect to server.
-P, --port=# Port number to use for connection.
-r, --replace If duplicate unique key was found, replace old row.
-s, --silent Be more silent.
-S, --socket=name Socket file to use for connection.
-u, --user=name User for login if not current user.
-v, --verbose Print info about the various stages.
-V, --version Output version information and exit.
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
character-sets-dir (No default value)
default-character-set (No default value)
columns (No default value)
compress FALSE
delete FALSE
fields-terminated-by (No default value)
fields-enclosed-by (No default value)
fields-optionally-enclosed-by (No default value)
fields-escaped-by (No default value)
force FALSE
host (No default value)
ignore FALSE
ignore-lines 0
lines-terminated-by (No default value)
local FALSE
lock-tables FALSE
low-priority FALSE
port 3306
replace FALSE
silent FALSE
socket (No default value)
user (No default value)
verbose FALSE