分类

安卓应用安卓游戏攻略资讯

编程相关

MySQL导出CSV工具(MySQL to CSV)

MySQL导出CSV工具(MySQL to CSV) v1.0 官方版

大小:903 KB

语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8, Win10

类别:编程相关时间:2019-07-16

MySQL to CSV是一款专业的MySQL导入CSV工具,可以将MySQL数据库导出为CSV文件,并且不会出现乱码的情况,用户可自定义导出的表、数据库名和SQL查询语句等,大大提高数据转换效率,非常不错,推荐有需要的MySQL管理员下载!

MySQL to CSV安装教程

1、解压下载的软件,双击安装文件,进入安装界面,点击next

2、阅读软件许可协议,选择“I accept the agreement”

3、选择安装目的地,默认的是C:\Program Files (x86)\Intelligent Converters,如需修改点browse

4、设置开始菜单文件夹

5、确认安装信息,点击install开始安装

6、耐心等待,安装完成

MySQL导出CSV方法

CSV代表逗号分隔值。 您经常使用CSV文件格式在Microsoft Excel,Open Office,Google Docs等应用程序之间交换数据。

以CSV文件格式从MySQL数据库中获取数据将非常有用,因为您可以按照所需的方式分析和格式化数据。

MySQL提供了一种将查询结果导出到位于数据库服务器中的CSV文件的简单方法。

在导出数据之前,必须确保:

MySQL服务器的进程对包含目标CSV文件的目标文件夹具有写访问权限。

要导出的目标CSV文件不能存在。

以下查询从orders表中查询选择已取消的订单:

SELECT

orderNumber, status, orderDate, requiredDate, comments

FROM

orders

WHERE

status = 'Cancelled';

SQL

要将此结果集导出为CSV文件,请按如下方式向上述查询添加一些子句:

SELECT

orderNumber, status, orderDate, requiredDate, comments

FROM

orders

WHERE

status = 'Cancelled'

INTO OUTFILE 'F:/worksp/mysql/cancelled_orders.csv'

FIELDS ENCLOSED BY '"'

TERMINATED BY ';'

ESCAPED BY '"'

LINES TERMINATED BY '\r\n';

SQL

该语句在F:/worksp/mysql/目录下创建一个包含结果集,名称为cancelled_orders.csv的CSV文件。

CSV文件包含结果集中的行集合。每行由一个回车序列和由LINES TERMINATED BY '\r\n'子句指定的换行字符终止。文件中的每行包含表的结果集的每一行记录。

每个值由FIELDS ENCLOSED BY '"'子句指示的双引号括起来。 这样可以防止可能包含逗号(,)的值被解释为字段分隔符。 当用双引号括住这些值时,该值中的逗号不会被识别为字段分隔符。

将数据导出到文件名包含时间戳的CSV文件

我们经常需要将数据导出到CSV文件中,该文件的名称包含创建文件的时间戳。 为此,您需要使用MySQL准备语句。

以下命令将整个orders表导出为将时间戳作为文件名的一部分的CSV文件。

SET @TS = DATE_FORMAT(NOW(),'_%Y%m%d_%H%i%s');

SET @FOLDER = 'F:/worksp/mysql/';

SET @PREFIX = 'orders';

SET @EXT = '.csv';

SET @CMD = CONCAT("SELECT * FROM orders INTO OUTFILE '",@FOLDER,@PREFIX,@TS,@EXT,

"' FIELDS ENCLOSED BY '\"' TERMINATED BY ';' ESCAPED BY '\"'",

" LINES TERMINATED BY '\r\n';");

PREPARE statement FROM @CMD;

EXECUTE statement;

SQL

下面,让我们来详细讲解上面的命令。

首先,构造了一个具有当前时间戳的查询作为文件名的一部分。

其次,使用PREPARE语句FROM命令准备执行语句。

第三,使用EXECUTE命令执行语句。

可以通过事件包装命令,并根据需要定期安排事件的运行。

使用列标题导出数据

如果CSV文件包含第一行作为列标题,那么该文件更容易理解,这是非常方便的。

要添加列标题,需要使用UNION语句如下:

(SELECT 'Order Number','Order Date','Status')

UNION

(SELECT orderNumber,orderDate, status

FROM orders

INTO OUTFILE 'F:/worksp/mysql/orders_union_title.csv'

FIELDS ENCLOSED BY '"' TERMINATED BY ';' ESCAPED BY '"'

LINES TERMINATED BY '\r\n');

SQL

如查询所示,需要包括每列的列标题。

处理NULL值

如果结果集中的值包含NULL值,则目标文件将使用“N/A”来代替数据中的NULL值。要解决此问题,您需要将NULL值替换为另一个值,例如不适用(N/A),方法是使用IFNULL函数,如下:

SELECT

orderNumber, orderDate, IFNULL(shippedDate, 'N/A')

FROM

orders INTO OUTFILE 'F:/worksp/mysql/orders_null2na.csv'

FIELDS ENCLOSED BY '"'

TERMINATED BY ';'

ESCAPED BY '"' LINES

TERMINATED BY '\r\n';

SQL

我们用N/A字符串替换了shippingDate列中的NULL值。 CSV文件将显示N/A而不是NULL值。

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/mysql/export-table-to-csv.html

展开

猜您喜欢

同类推荐

网友评论