Search

ファイルに記述されたSQL文を実行
USE文+SOURCE文使用

unknown

mysql> USE データベース名
mysql> SOURCE ファイル名

USE文でインポート先のテーブル(tbl_Customer)があるデータベース(db_User)を選択し、SOURCE文でファイル(insert.sql)を読み込み、ファイルに記述されたSQL文を実行します。

ファイル内容:insert.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);
テーブル構造: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    |       |
+-----------+-------------+------+-----+---------+-------+
# データベース選択
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

$ mysql -u ユーザー名 -p データベース名 < ファイル名
Enter password: パスワード

SQL文の記述されたファイル(insert.sql)を読み込み、そのSQL文を実行します。 上述のUSE文+SOURCE文を使用するのと処理は同じですが、簡潔に一文で素早くインポートできます。

ファイル内容:insert.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);
テーブル構造: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    |       |
+-----------+-------------+------+-----+---------+-------+
# ローカルにある「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つ続けて記述します。

LOAD DATA INFILE文の引数
引数名説明
LOW_PRIORITY他の処理よりも優先しない。
CONCURRENT処理実行中に、他のスレッドがこのテーブルからデータを取り出すことを許可。
LOCALFILE権限がなくても、ローカルファイルの読み込みを許可。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のオプション

-c, --clumns=...

カンマ区切りのフィールド名一覧を引数として取り、その一覧を使って適切なLOAD DATA INFILE文を作成し、MySQLに渡します。

-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文の対応する説と同じ意味。

-f, --force

ファイルで指定したテーブルが存在しない場合、エラーを無視して、残りのファイルの処理を続行します。 -fを指定しなかった場合は、テーブルが存在しなければmysqlimportが終了します。

--help

ヘルプ表示。

-h host_name, --host=host_name

指定したホストのMySQLサーバーにデータをインポートします。
デフォルトのホストは、localホストです。

--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~

使用する接続プロトコルを指定します。

-i, --ignore
--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

バージョン情報を出力して終了。

ファイルからデータをテーブルにインポート
LOAD DATA INFILE 文/mysqlimport コマンド

unknown

データはカンマ区切り、行の終端は改行文字(\r\n)のCSV形式のファイル「tbl_Customer.csv」の内容をデータベース(tblUser)にあるテーブル(tbl_Customer)に読み込みます。

読み込むファイルの名前は、LOAD DATA INFILE文を使用する場合は何でもかまいませんが、 mysqlimportコマンドを使用する場合は、インポート先のテーブル名をファイル名にする必要があります。

テーブル構造:tbl_Customer
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(主キー)属性を指定しているため、挿入する値はユニークでなければなりません。 値に重複があると、エラーになります。

CSVファイルの内容:tbl_Customer.csv
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文を使用する場合

LOAD DATA INFILE '読み込むファイル名' INTO TABLE テーブル名
FIELDS TERMINATED BY '区切り文字' LINES TERMINATED BY '改行文字';

※1※
文字列をシングルクウォーテーション(')またはダブルクウォーテーション(")で括っている場合は、 指定する必要がありますが、それ以外は不要です。

CSVファイルの内容:tbl_Customer.csv
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コマンドを使用する場合

$ mysqlimport -u root -p --fields-terminated-by=区切り文字 --lines-terminated-by=改行文字 --local データベース名 読み込むファイル名
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コマンドを使用する場合は、インポート先のテーブル名をファイル名にする必要があります。
ファイル内容:data_in_column.tab
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文を使用する場合

LOAD DATA INFILE '読み込むファイル名' INTO TABLE テーブル名
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コマンドを使用する場合

mysqlimport -u root -p --fields-terminated-by=区切り文字 --lines-terminated-by=改行文字 --ignore-lines=1 --local データベース名 読み込むファイル名 Enter password: パスワード
# ファイルの最初の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文を使用する場合

LOAD DATA INFILE '読み込むファイル名' INTO TABLE テーブル名
FIELDS TERMINATED BY '区切り文字' LINES TERMINATED BY '改行文字'
IGNORE 数値 LINES
CSVファイルの内容:tbl_Customer.csv
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コマンドを使用する場合

$ mysqlimport -u root -p --fields-terminated-by=区切り文字 --lines-terminated-by=改行文字 --ignore-lines=1 --local データベース名 読み込むファイル名 Enter password: パスワード
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

mysqlimport --help
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

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women