MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

1行目に列名が含まれるテキストファイルからMySQLへデータをインポートする方法

入力用のテキストファイルには、1行目に各列の名前(ヘッダー)が含まれていることがあります。このようなテキストファイルからMySQLのテーブルへデータをインポートする際は、LOAD DATA文の「IGNORE n ROWS」オプションを使用します。このオプションを指定すると、指定した行数だけ読み込みをスキップできるため、ヘッダー行を除外してデータだけを取り込むことが可能です。

以下に、具体的な使用例を示します。

例:ヘッダー付きCSVファイルのインポート

1. インポート元のテキストファイル

まず、カンマ区切りの値が記録された「A.txt」というファイルを用意します。

Id,Name,Country,Salary
100,"Ram","INDIA",25000
101,"Mohan","INDIA",28000

このファイルの1行目には「Id」「Name」「Country」「Salary」という列名が記載されています。

2. データの受け皿となるテーブルを作成

次に、データを格納するためのテーブル「employee3_tbl」を作成します。

mysql> Create table employee3_tbl(Id Int, Name Varchar(20), Country Varchar(20), Salary Int);
Query OK, 0 rows affected (0.1 sec)

3. LOAD DATA文でデータをインポート

続いて、以下のSQLを実行して、テキストファイルからテーブルへデータを転送します。

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee3_tbl FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 1 ROWS;
Query OK, 2 rows affected (0.16 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0

実行結果を見ると、「2 rows affected」と表示されており、2件のデータレコードが正常に取り込まれたことがわかります。

IGNORE n ROWSオプションのポイント

上記のクエリでは、MySQLが最初の1行(ヘッダー行)を読み飛ばしています。スキップする行数は、「IGNORE n ROWS」の「n」に指定した値によって決まります。

  • IGNORE 1 ROWS:先頭の1行をスキップ(ヘッダーが1行の場合)
  • IGNORE 2 ROWS:先頭の2行をスキップ(タイトル行+ヘッダー行など)

また、「FIELDS TERMINATED BY ','」でフィールドの区切り文字をカンマに、「ENCLOSED BY '"'」で文字列がダブルクォートで囲まれていることを指定している点にも注目してください。

インポート結果の確認

最後に、SELECT文でテーブルの中身を確認してみましょう。

mysql> Select * from employee3_tbl;
+------+-------+---------+--------+
| Id   | Name  | Country | Salary |
+------+-------+---------+--------+
| 100  | Ram   | INDIA   | 25000  |
| 101  | Mohan | INDIA   | 28000  |
+------+-------+---------+--------+
2 rows in set (0.00 sec)

上記の結果セットから、A.txtファイルのデータ(ヘッダー行を除く2レコード)がテーブルに正しく転送されていることが確認できます。

まとめ

1行目に列名が含まれるテキストファイルをMySQLにインポートする場合は、LOAD DATA LOCAL INFILE文に「IGNORE 1 ROWS」を付けるだけで対応できます。ヘッダーの行数に応じて「n」の値を変更すれば、さまざまな形式のファイルに柔軟に対応できるので、ぜひ活用してください。

  1. PDFからExcelにデータをインポートする3つの方法を徹底解説

    PDFは最も汎用性の高いドキュメント形式のひとつです。文書を共有してもレイアウトが崩れたり、テンプレートが誤って編集されたりする心配がないため、ほぼあらゆる種類の文書をPDFとして配布できます。しかし、いざPDFを編集しようとすると問題が発生します。Excel(.xlsx)ファイルなどの構造化されたファイル形式から変換されたPDFであれば、オンラインコンバーターを使えば比較的簡単に元の形式へ戻せます。一方、スキャン画像で構成されたPDFは、変換すべきテキストデータが存在しないため、編集が非常に困難です。本記事で紹介する解決策は、実際のユーザーによって提案され、他のユーザーによっても検証済みの実

  2. テキストファイルからExcelにデータをインポートする3つの方法

    必要なデータがテキストファイルに保存されている場合、そのデータをExcelブックに取り込んで、さまざまな操作や分析を行いたいことがあります。この記事では、テキストファイルからExcelへデータをインポートするための、シンプルかつ効果的な3つの方法をわかりやすく解説します。 説明には、次のようなテキストファイル内のデータをサンプルとして使用します。このデータには、ある会社の営業担当者(Salesman)、製品(Product)、売上(Sales)の情報が含まれています。これらの情報をExcelワークシートに取り込んでいきましょう。 テキストファイルからExcelにデータをインポートする3つの方