экспорт данных в файл CSV с помощью запроса SELECT mysql - PullRequest
2 голосов
/ 06 февраля 2012

Обычно, чтобы экспортировать отчеты CSV с сервера mysql, я подключаю и запускаю запрос на сервере, сохраняю результаты в текстовый файл и импортирую файл в 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, однако как я могу удалить разрывы строк из результатов?

Ответы [ 3 ]

2 голосов
/ 06 февраля 2012

Вы можете сделать это с помощью запроса, вот пример.

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
1 голос
/ 07 февраля 2012

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'
1 голос
/ 06 февраля 2012

Вы также можете использовать комбинацию «view» и «mysqldump».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...