Как экспортировать данные из Mysql в CSV/TSV


Экспорт всех данных из таблицы

Для того чтобы экспортировать все данные из таблицы и сохранить их в /tmp/dump.csv:

SELECT * INTO OUTFILE '/tmp/dump.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'n'
FROM table;
Войти в полноэкранный режим Выйдите из полноэкранного режима

Убедитесь, что каталог /tmp (или другой, выбранный вами) доступен для записи для Mysql.

Экспорт данных из пользовательского select

Это легко, просто используйте стандартный запрос SELECT:

SELECT col1, col2 INTO OUTFILE '/tmp/dump.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'n'
FROM table WHERE col1 > 1 ORDER BY col2;
Войти в полноэкранный режим Выйти из полноэкранного режима

Это сохранит данные col1, col2 из набора результатов запроса SELECT...FROM table WHERE col1 > 1 ORDER BY col2.

Экспорт данных в TSV

TSV — это формат с разделением табуляцией, поэтому все, что нам нужно сделать, это установить t в качестве символа завершения поля:

SELECT * INTO OUTFILE '/tmp/dump.csv'
FIELDS TERMINATED BY 't' LINES TERMINATED BY 'n'
FROM table;
Вход в полноэкранный режим Выход из полноэкранного режима

Загрузка данных CSV обратно в таблицу

Давайте загрузим данные из /tmp/dump.csv в таблицу:

LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE table
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'n'
Войдите в полноэкранный режим Выход из полноэкранного режима

Это отличный способ загрузки больших объемов данных в таблицы Mysql.

Оцените статью
devanswers.ru
Добавить комментарий