PR

【2025年最新】MySQL 9.1 に CSV を最適インポートする方法

【2025年最新】MySQL 9.1 に CSV を最適インポートする方法

MySQL 9.1 に CSV ファイルをインポートする最も効率的な方法を詳しく解説します。この記事では、データの正確性とパフォーマンスを最大化し、エンジニアが簡単に実装できる手順を紹介します。

✅ 本記事のポイント

  • 最速でCSVをインポートする LOAD DATA INFILE の活用法
  • エラーなしでインポートするためのベストプラクティス
  • Python や MySQL Workbench を使った方法も解説

CSV ファイルの構造と要件

genre_id,genre_name,genre_level,category_id
100371,レディースファッション,1,181

この CSV を MySQL 9.1 に適切に取り込む方法を見ていきます。


🔥 MySQL のテーブルを事前に作成する

CREATE TABLE genres (
    genre_id INT PRIMARY KEY,
    genre_name VARCHAR(255),
    genre_level INT,
    category_id INT
);

このテーブルは、CSV の各カラムと完全に一致するように設計されています。


🚀 LOAD DATA INFILE で高速インポート

📌 CSV ファイルを適切な場所に配置

MySQL サーバーがアクセスできるディレクトリに genres.csv を配置します。

sudo mv genres.csv /var/lib/mysql-files/

🖥️ MySQL で LOAD DATA INFILE を実行

LOAD DATA INFILE '/var/lib/mysql-files/genres.csv'
INTO TABLE genres
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

🔹 この方法のメリット

  • 最速でインポート可能
  • 手動操作不要で完全自動化

💻 mysqlimport コマンドを活用する

ターミナルで簡単に CSV をインポートしたい場合、mysqlimport を利用できます。

mysqlimport --local -u root -p --fields-terminated-by="," --ignore-lines=1 your_database genres.csv

簡単・速い・エラーが少ない!


🖱️ MySQL Workbench で GUI インポート

GUI でインポートする場合、MySQL Workbench を活用できます。

  1. ServerData Import を開く
  2. Import from Self-Contained File に CSV を指定
  3. Next をクリックし、適切なテーブルを選択
  4. Start Import を実行

🔹 初心者でも簡単に実施可能!


🐍 Python (pymysql) を使った自動化インポート

エンジニア向けに、Python で MySQL にデータを取り込むスクリプトを紹介します。

📌 必要なライブラリをインストール

pip install pymysql pandas

🖥️ Python スクリプトで自動インポート

import pymysql
import pandas as pd

# MySQL 接続設定
conn = pymysql.connect(
    host='localhost', user='root', password='your_password', database='your_database')
cursor = conn.cursor()

# CSV を DataFrame に読み込む
df = pd.read_csv('genres.csv')

# データを MySQL に挿入
for _, row in df.iterrows():
    sql = """
    INSERT INTO genres (genre_id, genre_name, genre_level, category_id)
    VALUES (%s, %s, %s, %s)
    """
    cursor.execute(sql, (row['genre_id'], row['genre_name'], row['genre_level'], row['category_id']))

conn.commit()
cursor.close()
conn.close()

プログラムで完全自動化!


📢 まとめ:最適な方法を選ぼう!

方法特徴推奨ケース
LOAD DATA INFILE最速・大量データ向け大規模データの一括登録
mysqlimport簡単・速いターミナルから手軽に
MySQL WorkbenchGUI操作で簡単初心者向け
Python (pymysql)自動化可能プログラム制御したい場合

🔹 エンジニア向けに最適化した方法で、スムーズに CSV をインポートしましょう!

コメント

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