簡體   English   中英

使用SELECT mysql查詢將數據導出到CSV文件

[英]exporting data to CSV file using SELECT mysql query

通常,要從mysql服務器導出CSV報告,我會在服務器上連接並運行查詢,將結果保存到文本文件中,然后通過指定使用豎線分隔字符分隔列將文件導入excel。

我需要在具有MEDIUMTEEXT列類型的表上運行報告,該表類型包含逗號和換行符(\\ n)。

換行符和逗號符號破壞了表格的布局。

SELECT `number`,REPLACE(`description`, ',', ''),  mr.`dateInserted` FROM 
`mr`  WHERE mr.dateInserted >= '2012-01-01' AND mr.dateInserted <= '2012-01-31'

我使用MySQL REPLACE函數解決了逗號問題,但是,如何從結果中刪除換行符呢?

您可以通過查詢來執行此操作,這是一個示例。

SELECT
  id,
  name,
  email
INTO
  OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
FROM users WHERE 1

您也可以結合使用“視圖”和“ mysqldump”。

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

Char(13)是回車符

Char(10)是換行符

嘗試嵌套的替換函數以獲取阻力最小的路徑:)

SELECT 
    `number`, 
    REPLACE(REPLACE(REPLACE(`description`, ',', ''), CHAR(13),''), CHAR(10),''),
    mr.`dateInserted`
FROM
    `mr`
WHERE
    mr.dateInserted >= '2012-01-01' 
AND 
    mr.dateInserted <= '2012-01-31'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM