MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 4 Администрирование баз данных :: 4.8 Клиентские сценарии и утилиты MySQL :: 4.8.7 mysqlimport, импорт данных из текстовых файлов

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 4.8 Клиентские сценарии и утилиты MySQL
  • 4.8.1 Обзор клиентских сценариев и утилит
  • 4.8.2 mysql, Утилита командной строки
  • 4.8.3 mysqladmin, Администрирование MySQL-сервера.
  • 4.8.4 Использование mysqlcheck для сопровождения и аварийного восстановления таблиц.
  • 4.8.5 mysqldump, Получение дампов данных и структуры таблицы
  • 4.8.6 mysqlhotcopy, Копирование баз данных и таблиц MySQL
  • 4.8.7 mysqlimport, импорт данных из текстовых файлов
  • 4.8.8 mysqlshow, просмотр баз данных, таблиц и столбцов
  • 4.8.9 mysql_config, Получение опций компиляции для компиляции клиентских программ
  • 4.8.10 perror, разъяснение кодов ошибок
  • 4.8.11 Как запускать SQL-команды из текстового файла

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

4.8.7. mysqlimport, импорт данных из текстовых файлов

Утилита mysqlimport обеспечивает интерфейс командной строки для SQL-оператора LOAD DATA INFILE. Большинство параметров mysqlimport полностью соответствует аналогичным параметрам для оператора LOAD DATA INFILE. See Раздел 6.4.9, «Синтаксис оператора LOAD DATA INFILE».

Утилита mysqlimport вызывается следующим образом:

shell> mysqlimport [параметры] database textfile1 [textfile2 ...]

Для каждого текстового файла, указанного в командной строке, mysqlimport удаляет расширение в каждом имени файла и использует его, чтобы определить, в какую таблицу занести содержимое. Например, файлы с именами patient.txt, patient.text и patient должны быть все занесены в таблицу с именем patient.

Утилита mysqlimport поддерживает следующие опции:

  • -c, --columns=...

    Эта опция принимает в качестве аргумента список разделенных запятыми имен полей. Данный список полей используется для создания соответствующей команды LOAD DATA INFILE, которая затем посылается в MySQL. See Раздел 6.4.9, «Синтаксис оператора LOAD DATA INFILE».

  • -C, --compress

    Использовать компрессию в связи между клиентом и сервером, если они оба поддерживают сжатие.

  • -#, --debug[=option_string]

    Отслеживать прохождение программы (для отладки).

  • -d, --delete

    Удалить данные из таблицы перед импортированием текстового файла.

  • --fields-terminated-by=..., --fields-enclosed-by=..., --fields-optionally-enclosed-by=..., --fields-escaped-by=..., --lines-terminated-by=...

    Эти опции аналогичны соответствующим операторам для LOAD DATA INFILE. See Раздел 6.4.9, «Синтаксис оператора LOAD DATA INFILE».

  • -f, --force

    Игнорировать ошибки. Например, если таблица для текстового файла не существует, продолжать обработку остающихся файлов. Без параметра --force утилита mysqlimport прекращает работу при отсутствии таблицы.

  • --help

    Вывести справочную информацию и выйти из программы.

  • -h host_name, --host=host_name

    Импортировать данные в MySQL-сервер на указанном хосте. Значение хоста по умолчанию - localhost.

  • -i, --ignore

    См. описание для параметра --replace.

  • -l, --lock-tables

    Заблокировать все таблицы для записи перед обработкой любых текстовых файлов. Это обеспечивает синхронизацию всех таблиц на сервере.

  • -L, --local

    Читать входящие файлы из клиента. По умолчанию предполагается, что текстовые файлы расположены на сервере при подсоединении к localhost (значение хоста по умолчанию).

  • -pyour_pass, --password[=your_pass]

    Используемый пароль при подключении к серверу. Если аргумент =your_pass не введен, mysqlimport предложит ввести пароль.

  • -P port_num, --port=port_num

    Номер порта TCP/IP, используемого для подсоединения к хосту.

  • --protocol=(TCP | SOCKET | PIPE | MEMORY)

    Для указания протокола соединения, который надлежит использовать. Новшество в MySQL 4.1.0.

  • -r, --replace

    Опции --replace и --ignore управляют обработкой поступающих на вход записей, которые дублируют имеющиеся записи по значениям уникальных ключей. Если задано значение --replace, новые строки заменяют существующие с тем же самым значением уникального ключа. Если задано значение --ignore, входные строки, которые дублируют существующую строку по значению уникального ключа, пропускаются. Если же ни одна из опций не задана, то при обнаружении ключа-дубликата возникает ошибка и остаток текстового файла игнорируется.

  • -s, --silent

    Режим молчания. Выводить только сообщения об ошибках.

  • -S /path/to/socket, --socket=/path/to/socket

    Файл сокета для подсоединения к localhost (значение хоста по умолчанию).

  • -u user_name, --user=user_name

    Имя пользователя MySQL-сервера, используемое при подсоединении к серверу. Значением по умолчанию является имя для входа в Unix.

  • -v, --verbose

    Расширенный режим вывода. Вывод более детальной информации о работе программы.

  • -V, --version

    Вывести информацию о версии и выйти из программы.

Ниже приведен пример листинга программы, использующей утилиту mysqlimport:

$ mysql --version
mysql  Ver 9.33 Distrib 3.22.25, for pc-linux-gnu (i686)
$ uname -a
Linux xxx.com 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown
$ mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
$ ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
$ od -c imptest.txt
0000000   1   0   0  \t   M   a   x       S   y   d   o   w  \n   1   0
0000020   1  \t   C   o   u   n   t       D   r   a   c   u   l   a  \n
0000040
$ mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
$ mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+

This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!