Выгрузить данные MySQL в csv файл

Выгрузить данные MySQL в csv файл

Столкнулся с задачей, необходимо выгрузить данные MySQL в csv файл. У меня потребовалось некоторое время для поиска решений. Решил сделать заметку по данной теме «Выгрузить данные MySQL в csv файл «.

Выполняем подключение к mysql, можно выполнить:

# mysql -uroot -p

Например, мне нужно экспортировать все данные с базы данных user, но для начала, я посмотрю что в этой базе находится:

> SELECT* FROM user;

После чего, я выполняю запрос на экспорт следующей командой:

> SELECT * INTO OUTFILE '/var/lib/mysql/export.csv' FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES STARTING BY '' TERMINATED BY '\n' FROM user;

Теперь более подробно о данной строке:

  • INTO OUTFILE — В этом поле необходимо указать путь и имя файла для выгрузки данных (путь должен быть абсолютным).
  • FIELDS TERMINATED BY — В этом поле необходимо указать как будут разделены поля.
  • ENCLOSED BY — В этом поле необходимо указать разделитель для каждого поля в файле. Он будет обрабатываться указанным символом.
  • TERMINATED BY — В этом поле необходимо указать разделитель для строк.
  • LINES STARTING BY и TERMINATED BY ‘\n’ разделяет каждую строку значением, которое прописано в LINES STARTING BY и строки заканчиваются разделителем  который объявлен в TERMINATED BY.
  • user — это имя мой базы данных с которой я хочу выгрузить данные в  CSV.

Можно указать названия для каждого из столбцов, например:

SELECT 'id', 'login', 'pass','date'
UNION
(
SELECT * INTO OUTFILE '/var/lib/mysql/export.csv'
FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'
LINES STARTING BY '' TERMINATED BY '\n'
FROM user
ORDER BY id ASC
)

PS: будьте внимательны, может отличаться структура таблиц. Но я взял это в качестве примера.

Ничего сложного, нужно просто пару раз попробовать и понять как оно работает. На этом, у меня все с данной темой «Выгрузить данные MySQL в csv файл «.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.