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
という名前のファイルに書き込みます。
上記のコードを出力すると、次のファイルが生成されます。
上記のファイルのデータは次のように表示されます。
CSV ファイル内で出力をフォーマットすることもできます。これは、FIELDS TERMINATED BY
、ENCLOSED 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 ファイルを見つけるには、上記のコードブロックの INTO OUTFILE
コマンドで指定されたパスをたどることができます。