Пропуск строк в файле данных

Задача
Вы хотите, чтобы предложение LOAD DATA пропустило одну или несколько строк в начале файла, прежде чем начать загрузку записей.

Решение
Сообщите предложению LOAD DATA, сколько строк надо пропустить.

Обсуждение
Чтобы пропустить первые n строк файла, добавьте инструкцию IGNORE n LINES в предложение LOAD DATA. Например, если файл с символами табуляции в качестве разделителей начинается со строки заголовков столбцов, то ее можно пропустить:

mysql> LOAD DATA LOCAL INFILE 'mytbl.txt' INTO TABLE mytbl IGNORE 1 LINES;

Начиная с версии MySQL 4.0.2, утилита mysqlimport поддерживает опцию --ignore-lines=n, имеющую тот же эффект.

Инструкция IGNORE часто бывает полезна для файлов, полученных из внешних источников. Например, FileMaker Pro может экспортировать файлы в так называемом формате слияния (merge), представляющем собой не что иное как формат CSV со строкой заголовков. Следующее предложение пропустит заголовки в таком файле, созданном FileMaker Pro в Mac OS (с символом CR в качестве разделителя строк):

mysql> LOAD DATA LOCAL INFILE 'mytbl.txt' INTO TABLE mytbl
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\r'
-> IGNORE 1 LINES;

Заметим, что импорт файла FileMaker Pro часто не так прост, как здесь показано. Если, например, он содержит даты, то они могут оказаться в неподходящем для MySQL формате. Вам придется подготовить файл к загрузке или выполнить обработку после нее.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела MySQL на эту тему:
Диагностическая утилита для LOAD DATA
Извлечение и перестановка столбцов файлов данных
Импорт XML в MySQL
Импорт с помощью LOAD DATA и утилиты mysqlimport
Импорт файлов в формате CSV

Вернуться в раздел: MySQL / 10. Импорт и экспорт данных