mysql
, Утилита командной строкиmysqladmin
, Администрирование MySQL-сервера.mysqlcheck
для сопровождения и аварийного восстановления таблиц.mysqldump
, Получение дампов данных и структуры таблицыmysqlhotcopy
, Копирование баз данных и таблиц MySQLmysqlimport
, импорт данных из текстовых файловBuy this Reference Manual in softcover from Barnes & Noble!
mysqlimport
, импорт данных из текстовых файловУтилита mysqlimport
обеспечивает интерфейс командной строки для SQL-оператора LOAD DATA INFILE
. Большинство параметров mysqlimport
полностью соответствует аналогичным параметрам для оператора LOAD DATA INFILE
. See section 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 section 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 section 6.4.9 Синтаксис оператора LOAD DATA INFILE
.-f, --force
--force
утилита mysqlimport
прекращает работу при отсутствии таблицы.--help
-h host_name, --host=host_name
localhost
.-i, --ignore
--replace
.-l, --lock-tables
-L, --local
localhost
(значение хоста по умолчанию).-pyour_pass, --password[=your_pass]
=your_pass
не введен, mysqlimport
предложит ввести пароль.-P port_num, --port=port_num
localhost
, для которого используются сокеты Unix).-r, --replace
--replace
и --ignore
управляют обработкой поступающих на вход записей, которые дублируют имеющиеся записи по значениям уникальных ключей. Если задано значение --replace
, новые строки заменяют существующие с тем же самым значением уникального ключа. Если задано значение --ignore
, входные строки, которые дублируют существующую строку по значению уникального ключа, пропускаются. Если же ни одна из опций не задана, то при обнаружении ключа-дубликата возникает ошибка и остаток текстового файла игнорируется.-s, --silent
-S /path/to/socket, --socket=/path/to/socket
localhost
(значение хоста по умолчанию).-u user_name, --user=user_name
-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 | +------+---------------+
Posted by Tom Reinertson on Friday May 17 2002, @6:24am | [Delete] [Edit] |
Keep in mind that your imported text file should
have some value for empty fields. I regularly
build tables using msqlimport to import
tab-delimited text files. My tables contain
integer fields, some of which are
auto_incremented and some are not. MYSQL will
let you represent empty fields as null text
strings, i.e., two tab characters back-to-back,
but I found this increments the warning count.
To solve this problem you must use some value
for empty fields. Since auto_increment fields
use 0 or NULL, one would think, incorrectly,
that you could use 0 or \N to represent a null
value in the import text file. You must 0 for
an auto_increment field. Using \N increments
the warning count. You should use \N for other
numeric fields where you want a null value.
This problem is especially perplexing because of
MySQL's inability to report the text of a
warning. It only reports a warning count.
Posted by Murali Mohan on Tuesday November 5 2002, @10:58pm | [Delete] [Edit] |
Before you invoke mysqlimport command with
appropriate options, please check that the 'FILE'
privilege is granted to you.
I wasted time facing the 'Access Denied on
table_name' error
because of the same.
Posted by Subburaj Palanichamy on Wednesday January 29 2003, @3:51am | [Delete] [Edit] |
Mysqlimport - access_to_mysql.txt - Usage - reg.
While converting the data from Microsoft Access database to Mysql, I have used the access_to_mysql.txt tool. In my database, some of the tables were were linked with another microsoft access database for which password has been set. Hence while converting the data, it displayed an error.
To over come this, I opened the database which has the linked table and removed the password set for that database.
Once password is removed, all the tables and data was successfully transferred to C:\temp\mysqldump.txt file.
Add your own comment.