MySQLのLOAD DATAステートメントとは?ファイルからデータを一括インポートする方法を解説
LOAD DATAステートメントとは
MySQLのLOAD DATAステートメントは、テキストファイルなどのデータファイルからデータベースへデータを一括でインポートするために使用されます。ファイル内のレコードを直接読み込み、テーブルへ挿入することができるため、大量のデータを登録する際に非常に便利です。
基本構文
LOAD DATAステートメントの基本構文は以下のとおりです。
LOAD DATA LOCAL INFILE '[パス/][ファイル名]' INTO TABLE [テーブル名];
各要素の意味は次のようになっています。
- パス:読み込むファイルが保存されている場所(アドレス)
- ファイル名:データが記録された.txtファイルなどの名前
- テーブル名:データをロードする対象のテーブル
実行例:テキストファイルからテーブルへデータをインポート
ここでは、タブ区切りのデータが記録された「A.txt」(パス:d:/A.txt)を例に説明します。ファイルの内容は以下のとおりです。
100 John USA 10000 101 Paul UK 12000 102 Henry NZ 11000 103 Rick USA 17000 104 Corey USA 15000
このファイルのデータを、以下の「employee_tbl」テーブルにロードします。
mysql> Create table employee_tbl(Id Int, Name varchar(20), Country Varchar(20),Salary Int); Query OK, 0 rows affected (0.91 sec)
テーブルの作成が完了したら、次のステートメントを実行して、ファイルからテーブルへデータを転送します。
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee_tbl; Query OK, 5 rows affected (0.15 sec) Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
データの確認
実際にデータが正しく登録されたか、SELECT文で確認してみましょう。
mysql> Select * from employee_tbl; +------+-------+---------+--------+ | Id | Name | Country | Salary | +------+-------+---------+--------+ | 100 | John | USA | 10000 | | 101 | Paul | UK | 12000 | | 102 | Henry | NZ | 11000 | | 103 | Rick | USA | 17000 | | 104 | Corey | USA | 15000 | +------+-------+---------+--------+ 5 rows in set (0.00 sec)
この結果セットから、A.txtファイルのデータがemployee_tblテーブルへ正しく転送されたことが確認できます。
まとめ
LOAD DATAステートメントを使えば、手作業でINSERT文を何度も実行することなく、ファイルにまとめられたデータを一度にテーブルへ取り込むことができます。実行結果には処理されたレコード数やスキップされた行数が表示されるため、インポートが正常に行われたかどうかも簡単に確認できます。大量データの初期投入やCSVファイルからの移行など、さまざまな場面で活用できる便利なステートメントです。
-
データセンターとは?仕組み・用途・セキュリティ対策をわかりやすく解説
データセンターとはデータセンターとは、大量のコンピュータサーバーや関連機器を収容するために設けられた専用施設のことです。英語では「data center」と表記するのが一般的ですが、「datacenter」と一語で書かれることもあります。イメージとしては、「壁からはみ出してしまったコンピュータ室」のようなものです。データセンターには、企業ユーザーのメール、財務記録、ウェブサイトのデータなど、あらゆる種類のデータを保存することができます。データセンターは何に使われるのか?一部のオンラインサービスは規模が非常に大きく、1〜2台のサーバーでは運用できません。そうしたサービスでは、サービスを動かすため
-
MySQLとは?主な特徴や仕組みをわかりやすく解説
MySQLは「マイ・シークエル」と読まれることもある、オープンソースのSQL(Structured Query Language/構造化照会言語)データベース管理システムです。SQLはデータベースへアクセスし、操作するために用いられる言語であり、ANSI/ISO SQL標準に基づいて定義されています。SQL標準は1986年以来、進化と発展を続けており、現在では複数のバージョンが存在します。MySQLは現在、Oracle Corporation(オラクル社)によって開発・メンテナンスされており、公式サイトは https://www.mysql.com/ です。MySQLの主な特徴ここでは、MyS