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