MySQLデータ投入を簡単に!一括インポートのすべて

SQL

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 は手動で一括データを挿入する場合に使用しますが、大量のデータには他の方法が効率的です。

ファイルの形式や目的に応じて、最適な方法を選んで利用してください。

コメント

タイトルとURLをコピーしました