[MySQL]CSVファイルのエクスポート・インポート方法とは?基本的な使い方・オプションの指定方法
![[MySQL]CSVファイルのエクスポート・インポート方法とは?基本的な使い方・オプションの指定方法](/infla/column/wp-content/uploads/2022/05/97a8210f1370c82091d2aae83c35756d.jpg)
[MySQL]CSVファイルのエクスポート・インポート方法とは?
今回は、MySQLでのCSVファイルのエクスポート・インポート方法について説明します。MySQLでは、SELECT結果をCSVファイルにエクスポートできます。また、CSVファイルからデータをインポートできます。基本的な使い方から、オプションの指定方法について紹介します。
CSVファイルのエクスポート・インポート方法に興味のある方はぜひご覧ください。
CSVエクスポート
MySQLで、SELECT結果をCSVファイルにエクスポートする方法を紹介します。ここでは、以下のテーブルをエクスポートします。
1
2
3
4
5
6
|
CREATE TABLE score_table(user_id int, name varchar(20), japanese int, english int, mathematics int);
INSERT INTO score_table VALUES(1, 'taro', 56, 67, 78);
INSERT INTO score_table VALUES(2, 'jiro', 76, 85, 84);
INSERT INTO score_table VALUES(3, 'saburo', 34, 65, 45);
INSERT INTO score_table VALUES(4, 'hanako', 74, 62, 89);
INSERT INTO score_table VALUES(5, 'takako', 92, 68, 34);
|
データをSELECTした結果は以下のようになります。
1
2
3
4
5
6
7
8
9
10
|
mysql> SELECT * FROM score_table;
+---------+--------+----------+---------+-------------+
| user_id | name | japanese | english | mathematics |
+---------+--------+----------+---------+-------------+
| 1 | taro | 56 | 67 | 78 |
| 2 | jiro | 76 | 85 | 84 |
| 3 | saburo | 34 | 65 | 45 |
| 4 | hanako | 74 | 62 | 89 |
| 5 | takako | 92 | 68 | 34 |
+---------+--------+----------+---------+-------------+
|
CSVファイルにエクスポートするには、「INTO OUTFILE ファイル名」のように記述します。
1
|
mysql> SELECT * FROM score_table INTO OUTFILE 'C:\\test\\score_table1.csv';
|
実行すると、’C:\\test\\score_table1.csv’が生成されます。デフォルトではデータはタブ区切りになります。
1
2
3
4
5
6
7
|
PS C:\test> cat .\score_table1.csv
1 taro 56 67 78
2 jiro 76 85 84
3 saburo 34 65 45
4 hanako 74 62 89
5 takako 92 68 34
PS C:\test>
|
このようにMySQLでは、「INTO OUTFILE」でCSVファイルにエクスポートできます。
CSVエクスポートオプション
MySQLでの、CSVファイルへのエクスポートオプションについて紹介します。データの区切り文字を指定するには、「FIELDS」に「TERMINATED BY」を指定します。
1
2
3
|
mysql> SELECT * FROM score_table
-> INTO OUTFILE 'C:\\test\\score_table2.csv'
-> FIELDS TERMINATED BY ',';
|
実行すると、’C:\\test\\score_table2.csv’が生成されます。データがカンマ区切りになっていることが分かります。
1
2
3
4
5
6
7
|
PS C:\test> cat .\score_table2.csv
1,taro,56,67,78
2,jiro,76,85,84
3,saburo,34,65,45
4,hanako,74,62,89
5,takako,92,68,34
PS C:\test>
|
データの囲み文字を指定するには、「FIELDS」に「ENCLOSED BY」を指定します。
1
2
3
|
mysql> SELECT * FROM score_table
-> INTO OUTFILE 'C:\\test\\score_table3.csv'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '“';
|
実行すると、’C:\\test\\score_table3.csv’が生成されます。データがダブルクォーテーションで囲まれていることが分かります。
1
2
3
4
5
6
|
PS C:\test> cat .\score_table3.csv
“1”,”taro”,”56”,”67”,”78”
“2”,”jiro”,”76”,”85”,”84”
“3”,”saburo”,”34”,”65”,”45”
“4”,”hanako”,”74”,”62”,”89”
“5”,”takako”,”92”,”68”,”34”
|
改行コードを指定するには、「LINES」に「TERMINATED BY」を指定します。
1
2
3
4
|
mysql> SELECT * FROM score_table
-> INTO OUTFILE 'C:\\test\\score_table4.csv'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '“'
-> LINES TERMINATED BY '\r\n';
|
実行すると、改行コードが’\r\n’のCSVファイルが生成されます。
CSVインポート
MySQLで、CSVファイルからインポートする方法を紹介します。インポート前にレコードをDELETEしておきます。
1
|
mysql> DELETE FROM score_table;
|
インポートするには、「LOAD DATA INFILE ファイル名」と記述します。
1
|
mysql> LOAD DATA INFILE 'C:\\test\\score_table1.csv' INTO TABLE score_table;
|
実行すると、レコードがインポートされていることが分かります。
1
2
3
4
5
6
7
8
9
10
|
mysql> SELECT * FROM score_table;
+---------+--------+----------+---------+-------------+
| user_id | name | japanese | english | mathematics |
+---------+--------+----------+---------+-------------+
| 1 | taro | 56 | 67 | 78 |
| 2 | jiro | 76 | 85 | 84 |
| 3 | saburo | 34 | 65 | 45 |
| 4 | hanako | 74 | 62 | 89 |
| 5 | takako | 92 | 68 | 34 |
+---------+--------+----------+---------+-------------+
|
このようにMySQLでは、「LOAD DATA INFILE」でCSVファイルからインポートできます。
CSVインポートオプション
MySQLでの、CSVファイルからのインポートオプションについて紹介します。インポート前にレコードをDELETEしておきます。
1
|
mysql> DELETE FROM score_table;
|
インポートオプションはエクスポート時と同じです。区切り文字や囲み文字、改行コードを指定できます。
1
2
3
|
mysql> LOAD DATA INFILE 'C:\\test\\score_table4.csv' INTO TABLE score_table
-> FIELDS TERMINATED BY ',' ENCLOSED BY '“'
-> LINES TERMINATED BY '\r\n';
|
実行すると、レコードがインポートされていることが分かります。
1
2
3
4
5
6
7
8
9
10
|
mysql> SELECT * FROM score_table;
+---------+--------+----------+---------+-------------+
| user_id | name | japanese | english | mathematics |
+---------+--------+----------+---------+-------------+
| 1 | taro | 56 | 67 | 78 |
| 2 | jiro | 76 | 85 | 84 |
| 3 | saburo | 34 | 65 | 45 |
| 4 | hanako | 74 | 62 | 89 |
| 5 | takako | 92 | 68 | 34 |
+---------+--------+----------+---------+-------------+
|
まとめ
いかがでしたでしょうか。MySQLでのCSVファイルのエクスポート・インポート方法について説明しました。
MySQLでは、SELECT結果をCSVファイルにエクスポートできます。また、CSVファイルからデータをインポートできます。基本的な使い方から、オプションの指定方法について紹介しました。
ぜひご自身でMySQLのコマンドを書いて、理解を深めてください。
ネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。

