1. ホーム
  2. mysql

[解決済み] CSVファイルをMySQLのテーブルにインポートする方法

2023-01-02 12:46:31

質問

CSV ファイルを MySQL テーブルにインポートするにはどうしたらよいでしょうか。 データの最初の行をカラム名として使用したいのですが。

私は CSV ファイルを MySQL テーブルにインポートするにはどうすればよいですか? を読みましたが、唯一の回答はシェルではなくGUIを使用することでした?

どのように解決するのですか?

CSVファイルから情報を取り込むスクリプトを書く代わりに、MYSQLを直接リンクさせ、以下のSQL構文で情報をアップロードすることができます。

Excel ファイルを MySQL にインポートするには、まず CSV ファイルとしてエクスポートします。生成された CSV ファイルから、CSV ヘッダーを、Excel が CSV ファイルの最後に置いたかもしれない空のデータとともに削除します。

次に、それを実行することでMySQLのテーブルにインポートすることができます。

load data local infile 'uniq.csv' into table tblUniq fields terminated by ','
  enclosed by '"'
  lines terminated by '\n'
    (uniqName, uniqCity, uniqComments)

をお読みください。 CSVファイルをMySQLに直接インポートする

編集

あなたの場合、最初の行を見つけ、それを列名として割り当てるためのインタプリタを最初に書く必要があります。


EDIT-2

MySQLのドキュメントより LOAD DATA 構文 :

IGNORE number LINES オプションは、ファイルの先頭の行を無視するために使用されます。 を無視することができます。例えば IGNORE 1 LINES を使って を使って、カラム名を含む最初のヘッダ行をスキップすることができます。

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;

よって、以下のような記述でOKです。

LOAD DATA LOCAL INFILE 'uniq.csv'
INTO TABLE tblUniq
FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(uniqName, uniqCity, uniqComments)