Утилита 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.
© 1995-2005 MySQL AB. All rights reserved.
