В MySQL есть два простых способа загрузки данных в базу данных MySQL из ранее сохраненного файла.

Импорт данных с помощью LOAD DATA

MySQL предоставляет оператор LOAD DATA, который действует как загрузчик больших объемов данных. Вот пример оператора, который читает файл dump.txt из вашего текущего каталога и загружает его в таблицу mytbl в текущей базе данных.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
  • Если ключевое слово LOCAL отсутствует, MySQL ищет файл данных на хосте сервера, который полностью указывает местоположение файла, начиная с корня файловой системы. MySQL читает файл из указанного местоположения.
  • По умолчанию LOAD DATA предполагает, что файлы данных содержат строки, которые заканчиваются переводами строк (новыми строками), а значения данных в строке разделяются вкладками.
  • Чтобы явно указать формат файла, используйте предложение FIELDS для описания характеристик полей в строке и предложение LINES для указания конца строки. Следующая инструкция LOAD DATA указывает, что файл данных содержит значения, разделенные двоеточиями и строками, оканчивающимися возвратом каретки и символом новой строки.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
   -> FIELDS TERMINATED BY ':'
   -> LINES TERMINATED BY '\r\n';
  • Команда LOAD DATA предполагает, что столбцы в файле данных имеют тот же порядок, что и столбцы в таблице. Если это не так, вы можете указать список, чтобы указать, в какие столбцы таблицы должны быть загружены столбцы файла данных. Предположим, что в вашей таблице есть столбцы a, b и c, но последовательные столбцы в файле данных соответствуют столбцам b, c и a.

Вы можете загрузить файл, как показано в следующем блоке кода.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
   -> INTO TABLE mytbl (b, c, a);

Импортирование данных с помощью mysqlimport

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

Чтобы загрузить данные из файла dump.txt в mytbl , используйте следующую команду в командной строке UNIX.

$ mysqlimport -u root -p --local database_name dump.txt
password *****

Если вы используете mysqlimport , параметры командной строки предоставляют спецификаторы формата. В mysqlimport команды , которые соответствуют предыдущих двух LOAD DATA заявлений выглядит , как показано в следующем примере

$ mysqlimport -u root -p --local --fields-terminated-by = ":" \
   --lines-terminated-by = "\r\n"  database_name dump.txt
password *****

Порядок, в котором вы указываете параметры, не имеет значения для mysqlimport, за исключением того, что все они должны предшествовать имени базы данных.

Mysqlimport оператор использует —columns параметр , чтобы указать порядок столбцов —

$ mysqlimport -u root -p --local --columns=b,c,a \
   database_name dump.txt
password *****