将数据从 MySQL 导出到 CSV 文件
本教程将介绍如何将 MySQL 查询的输出保存到 CSV 文件中。
MySQL 有一种简单的技术可以将选择查询的输出导出到服务器上的文本或 CSV 文件中。使用像 INTO OUTFILE
这样的复杂命令,我们可以快速有效地写入 CSV 文件。
让我们创建一个表并将其结果存储在一个 CSV 文件中。
然而,在我们开始之前,我们创建了一个虚拟数据集来使用。在这里,我们创建了一个表,student_details
,以及其中的几行。
-- create the table student_details
CREATETABLEstudent_details(stu_idint,stu_firstNamevarchar(255)DEFAULTNULL,stu_lastNamevarchar(255)DEFAULTNULL,primarykey(stu_id));-- insert rows to the table student_details
INSERTINTOstudent_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*FROMstudent_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 的最基本方法之一是使用 OUTFILE
关键字。我们可以使用这个关键字,如下所示:
-- Exporting data into students.csv file
SELECTstu_id,stu_firstName,stu_lastNameFROMstudent_detailsINTOOUTFILE'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv';
上面的代码将查询的输出写入 C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/
目录中名为 abc.csv
的文件。
注意
输出文件可能已经存在,也可能不存在于 MySQL Server 8.0 的程序数据的 Uploads 文件夹中。一旦我们执行了上面的代码,就会创建一个文件,其中嵌入了数据。
上述代码的输出生成以下文件:
可以看到上述文件中的数据如下:
我们也可以尝试格式化 CSV 文件中的输出。这可以在 FIELDS TERMINATED BY
、ENCLOSED BY '""'
和 LINES TERMINATED BY
命令的帮助下完成。我们可以如下使用这些命令:
-- Exporting data into students.csv file
SELECT*FROMstudent_detailsINTOOUTFILE'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv'FIELDSTERMINATEDBY','ENCLOSEDBY'"'LINESTERMINATEDBY'\n';
上述代码的输出结果为 CSV 文件,如下所示:
正如我们所看到的,上图中的输出使用制表符分隔的文件格式正确。
因此,借助上述方法,我们可以有效地将数据导出到 CSV 文件中。为了找到这个 CSV 文件,我们可以按照上面提到的代码块中 INTO OUTFILE
命令中给出的路径。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。