MySQL から CSV ファイルへのデータのエクスポート

Preet Sanghavi 2023年1月3日
MySQL から CSV ファイルへのデータのエクスポート

このチュートリアルでは、MySQL クエリの出力を CSV ファイルに保存する方法を紹介します。

MySQL には、選択クエリの出力をサーバー上のテキストファイルまたは CSV ファイルにエクスポートする簡単な手法があります。INTO OUTFILE のような複雑なコマンドを使用して、CSV ファイルにすばやく効率的に書き込むことができます。

テーブルを作成し、その結果を CSV ファイルに保存しましょう。

ただし、開始する前に、操作するダミーデータセットを作成します。ここでは、テーブル student_details とその中のいくつかの行を作成します。

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

上記のクエリは、学生の名前と名前を含む行とともにテーブルを作成します。データのエントリを表示するために、次のコードを使用します。

SELECT * FROM student_details;

上記のコードは次の出力を提供します。

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

次に、上記のクエリの結果を別の CSV ファイルに保存してみましょう。

MySQL を CSV にエクスポート

MySQL データを CSV にエクスポートする最も基本的な方法の 1つは、OUTFILE キーワードを使用することです。以下に示すように、このキーワードを利用できます。

-- Exporting data into students.csv file
SELECT stu_id, stu_firstName, stu_lastName
FROM student_details
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv';

上記のコードは、クエリの出力を C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/ディレクトリの abc.csv という名前のファイルに書き込みます。

出力ファイルは、プログラムデータの MySQL Server8.0 の Uploads フォルダーにすでに存在する場合と存在しない場合があります。上記のコードを実行すると、データが埋め込まれたファイルが作成されます。

上記のコードを出力すると、次のファイルが生成されます。

CSV ファイルの作成

上記のファイルのデータは次のように表示されます。

CSV ファイルの表示

CSV ファイル内で出力をフォーマットすることもできます。これは、FIELDS TERMINATED BYENCLOSED BY '""'、および LINES TERMINATED BY コマンドを使用して実行できます。これらのコマンドは次のように使用できます。

-- Exporting data into students.csv file
SELECT *
FROM student_details
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

上記のコードを出力すると、CSV ファイルは次のようになります。

更新された CSV ファイルの表示

ご覧のとおり、上の画像の出力はタブ区切りのファイルで正しくフォーマットされています。

したがって、上記の方法を使用すると、データを CSV ファイルに効率的にエクスポートできます。この CSV ファイルを見つけるには、上記のコードブロックの INTO OUTFILE コマンドで指定されたパスをたどることができます。

著者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub