FIELDS TERMINATED BYオプションを使ったMySQLのLOAD DATA INFILEによるテキストファイルからのデータインポート方法
FIELDS TERMINATED BYオプションとは
MySQLテーブルにテキストファイルのデータをインポートする際、ファイル内の値がカンマ(,)やコロン(:)、セミコロン(;)などの区切り文字で分割されている場合は、「FIELDS TERMINATED BY」オプションを使用します。このオプションを指定することで、MySQLはどの文字をフィールドの境界として扱えばよいかを認識し、各値を正しく対応するカラムに振り分けることができます。
使用例
例として、セミコロン(;)で区切られた以下のデータがテキストファイル「A.txt」に保存されており、これをMySQLテーブルにインポートするケースを考えてみましょう。
100;Ram;IND;15000 120;Mohan;IND;18000
LOAD DATA INFILEの実行方法
次のように、「FIELDS TERMINATED BY」オプションに区切り文字「;」を指定してクエリを実行すると、データをMySQLテーブルにインポートできます。
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee12_tbl FIELDS TERMINATED BY ';'; Query OK, 2 rows affected (0.04 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
インポート結果の確認
SELECT文でテーブルの中身を確認すると、テキストファイルの各行が正しくカラムごとに分割されて登録されていることがわかります。
mysql> Select * from employee12_tbl; +------+----------------+----------+--------+ | Id | Name | Country | Salary | +------+----------------+----------+--------+ | 100 | Ram | IND | 15000 | | 120 | Mohan | IND | 18000 | +------+----------------+----------+--------+ 2 rows in set (0.00 sec)
ポイント解説
- LOCALキーワード:「LOAD DATA LOCAL INFILE」と指定すると、クライアント側(ローカルマシン)にあるファイルを読み込みます。サーバー上のファイルを指定する場合は「LOCAL」を省略します。
- 区切り文字の指定:「FIELDS TERMINATED BY」には、実際のファイルで使われている区切り文字(カンマなら「','」、タブなら「'\t'」など)をシングルクォートで囲んで指定します。
- 実行結果の見方:「Records」「Deleted」「Skipped」「Warnings」の数値から、正常に取り込まれた行数やスキップされた行数を確認できます。
このように、「FIELDS TERMINATED BY」オプションを活用すれば、CSV形式など任意の区切り文字を持つテキストファイルのデータを、簡単かつ高速にMySQLテーブルへ一括インポートすることができます。
-
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
-
テキストファイルからExcelにデータをインポートする3つの方法
必要なデータがテキストファイルに保存されている場合、そのデータをExcelブックに取り込んで、さまざまな操作や分析を行いたいことがあります。この記事では、テキストファイルからExcelへデータをインポートするための、シンプルかつ効果的な3つの方法をわかりやすく解説します。 説明には、次のようなテキストファイル内のデータをサンプルとして使用します。このデータには、ある会社の営業担当者(Salesman)、製品(Product)、売上(Sales)の情報が含まれています。これらの情報をExcelワークシートに取り込んでいきましょう。 テキストファイルからExcelにデータをインポートする3つの方