MySQLでデータを一括インポートする方法は複数ありますが、コマンドを使った代表的な方法を以下にまとめます。
1. mysqlimport コマンドを使ったインポート
mysqlimport
コマンドは、CSVやテキストファイルの内容をMySQLのテーブルに簡単にインポートするためのツールです。
基本構文:
mysqlimport --local -u ユーザー名 -p データベース名 /path/to/ファイル名.csv
オプション例:
--local
: ローカルファイルを使用。--fields-terminated-by=','
: フィールドの区切り文字を指定(カンマの場合は,
)。--fields-enclosed-by='"'
: フィールドを囲む文字を指定(ダブルクオートなど)。--ignore-lines=1
: CSVファイルの最初の行(ヘッダー)を無視。
使用例:
mysqlimport --local --ignore-lines=1 --fields-terminated-by=',' --fields-enclosed-by='"' -u root -p my_database /home/user/data.csv
2. LOAD DATA INFILE SQLコマンドを使ったインポート
LOAD DATA INFILE
は、SQL文を使ってファイルからデータをインポートする方法で、より柔軟な制御が可能です。
基本構文:
LOAD DATA LOCAL INFILE '/path/to/ファイル名.csv'
INTO TABLE テーブル名
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
コマンドラインで実行する例:
mysql -u ユーザー名 -p -e "LOAD DATA LOCAL INFILE '/path/to/ファイル名.csv' INTO TABLE テーブル名 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES;" データベース名
3. INSERT INTO ... VALUES を使った手動での一括挿入
複数のレコードを INSERT
文を使って一度に挿入する方法です。
基本構文:
INSERT INTO テーブル名 (列1, 列2, 列3)
VALUES
('値1', '値2', '値3'),
('値4', '値5', '値6'),
('値7', '値8', '値9');
まとめ:
mysqlimport
は、シンプルにファイルをインポートするために便利なツールです。複数オプションを使うことで、ファイルのフォーマットに合わせたインポートが可能です。LOAD DATA INFILE
は、SQLで実行でき、より詳細なデータ操作やカスタマイズが可能です。INSERT INTO ... VALUES
は手動で一括データを挿入する場合に使用しますが、大量のデータには他の方法が効率的です。
ファイルの形式や目的に応じて、最適な方法を選んで利用してください。
コメント