MySQLでCSVファイルからテーブルを作成してデータを追加する方法


方法1: LOAD DATA INFILEステートメントを使用する方法

CREATE TABLE テーブル名 (
  列1 データ型,
  列2 データ型,
  ...
);
LOAD DATA INFILE 'ファイルパス'
INTO TABLE テーブル名
FIELDS TERMINATED BY ',' -- フィールドの区切り文字を指定
ENCLOSED BY '"' -- フィールドの囲み文字を指定
LINES TERMINATED BY '\n' -- 行の終端文字を指定
IGNORE 1 LINES; -- CSVのヘッダー行を無視する場合

方法2: MySQLのCSVストレージエンジンを使用する方法

CREATE TABLE テーブル名
(
  列1 データ型,
  列2 データ型,
  ...
)
ENGINE=CSV
DEFAULT CHARSET=utf8
DATA DIRECTORY 'ディレクトリパス'
INDEX DIRECTORY 'ディレクトリパス';
LOAD DATA INFILE 'ファイルパス'
INTO TABLE テーブル名;

方法3: PHPスクリプトを使用する方法

<?php
$servername = "サーバー名";
$username = "ユーザー名";
$password = "パスワード";
$dbname = "データベース名";
// MySQLへの接続
$conn = new mysqli($servername, $username, $password, $dbname);
// エラーチェック
if ($conn->connect_error) {
    die("接続に失敗しました: " . $conn->connect_error);
}
// テーブル作成
$sql = "CREATE TABLE テーブル名 (
    列1 データ型,
    列2 データ型,
    ...
)";
if ($conn->query($sql) === TRUE) {
    echo "テーブルが作成されました";
} else {
    echo "テーブルの作成に失敗しました: " . $conn->error;
}
// CSVファイルからデータを挿入
$sql = "LOAD DATA INFILE 'ファイルパス'
        INTO TABLE テーブル名
        FIELDS TERMINATED BY ','
        ENCLOSED BY '\"'
        LINES TERMINATED BY '\n'
        IGNORE 1 LINES";
if ($conn->query($sql) === TRUE) {
    echo "データが追加されました";
} else {
    echo "データの追加に失敗しました: " . $conn->error;
}
// 接続を閉じる
$conn->close();
?>

これらの方法を使用して、MySQLデータベースにCSVファイルのデータを追加することができます。適切な方法を選択し、必要に応じてコード例をカスタマイズしてください。