Отправить заявку

MySQL: Импорт данных из CSV

Бывает, что необходимо быстро, например из консоли, выполнить импорт файла CSV (сохраненного из Excel) в таблицу MySQL.

Как в MySQL можно импортировать данные из CSV файла?

Существует команда LOAD DATA INFILE.

LOAD DATA INFILE '/tmp/artkiev.csv'
INTO TABLE `log_data`
FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'
LINES STARTING BY '' TERMINATED BY '\n'
IGNORE 1 LINES;

Конструкция FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' говорит о том, что каждое поля в файле будут разделены знаком ; и каждое поле будет обернуто в знак " и если внутри поля попадется аналогичный знак (кавычка), она будет экранирована (ESCAPED BY).

Конструкция LINES STARTING BY '' TERMINATED BY '\n' сообщает о том, что каждая строка начинается с указанного значения в LINES STARTING BY, а заканчивается строка значением в TERMINATED BY.

Конструкция IGNORE num LINES не обязательна и используется только тогда, когда необходимо пропустить при импорте определенные строки в файле. Например ваш файл содержит заглавие столбцов, тогда пишем IGNORE 1 LINES и парсер пропустит первую строку.

Другие публикации