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

MySQLのLOAD DATA INFILEで「ENCLOSED BY」オプションを使い、引用符付きテキストファイルからテーブルへデータをインポートする方法

入力用のテキストファイルでは、テキストフィールドがダブルクォート(")で囲まれているケースがよくあります。このような形式のファイルからデータをインポートするには、LOAD DATA INFILE ステートメントに ENCLOSED BY オプションを指定します。

以下の例を使って、具体的な手順を見ていきましょう。

例:引用符付きCSVファイルのインポート

1. 元データとなるテキストファイル

次のようなカンマ区切りの値が、A.txt ファイルに保存されているものとします。名前や国などの文字列フィールドがダブルクォートで囲まれている点に注目してください。

100,"Ram","INDIA",25000
101,"Mohan","INDIA",28000

2. インポート先のテーブルを作成する

まず、データを受け取るためのテーブル employee2_tbl を作成します。

mysql> CREATE TABLE employee2_tbl(Id INT, Name VARCHAR(20), Country VARCHAR(20), Salary INT);

Query OK, 0 rows affected (0.1 sec)

3. ENCLOSED BY オプションを指定してデータをロードする

次に、LOAD DATA LOCAL INFILE を実行して、ファイルからテーブルへデータを転送します。ここでのポイントは、FIELDS TERMINATED BY ',' でフィールドの区切りを指定し、さらに ENCLOSED BY '"' で各フィールドがダブルクォートで囲まれていることを明示することです。

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

4. インポート結果を確認する

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

上記の結果セットから、A.txt ファイル内のデータが正しくテーブルに転送されたことが確認できます。ダブルクォートは自動的に取り除かれ、NameCountry の値には引用符が含まれていません。

ポイントまとめ

  • FIELDS TERMINATED BY:フィールド同士の区切り文字(この例ではカンマ)を指定します。
  • ENCLOSED BY:各フィールドを囲む引用符(この例ではダブルクォート)を指定します。これにより、インポート時に引用符が自動的に除去されます。
  • LINES TERMINATED BY '\n':行末の改行コードを明示的に指定することもできます(環境によってはデフォルトで認識されます)。

このように ENCLOSED BY オプションを活用すれば、Excelなどで出力される引用符付きCSVファイルでも、余計な前処理なしにそのままMySQLへ高速にデータを取り込めます。

  1. MySQLでテーブルのデータを削除した後にAUTO_INCREMENTを1から再開させる方法

    MySQLでデータ削除後にAUTO_INCREMENTを1に戻す方法MySQLでは、DELETE文でレコードを削除してもAUTO_INCREMENTの値はリセットされず、次に挿入されるレコードには続きの番号が割り当てられます。自動インクリメントの値を1に戻したい場合は、TRUNCATE TABLEコマンドを使用します。本記事では、実際のSQL例を使ってその動作を確認していきます。検証用テーブルの作成まず、テーブルを作成します。mysql> create table DemoTable1796 ( StudentId int NOT NULL AUTO_INCREMENT

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

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