mysqlimport
provides a command line interface to the LOAD DATA INFILE
SQL statement. Most options to mysqlimport
correspond directly to the same options to LOAD DATA INFILE
. See section 7.18 LOAD DATA INFILE
syntax.
mysqlimport
is invoked like this:
shell> mysqlimport [options] database textfile1 [textfile2....]
For each text file named on the command line, mysqlimport
strips any extension from the filename and uses the result to determine which table to import the file's contents into. For example, files named `patient.txt', `patient.text' and `patient' would all be imported into a table named patient
.
mysqlimport
supports the following options:
-c, --columns=...
LOAD DATA INFILE
. See section 7.18 LOAD DATA INFILE
syntax. -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 7.18 LOAD DATA INFILE
syntax. -f, --force
--force
, mysqlimport
exits if a table doesn't exist. --help
-h host_name, --host=host_name
localhost
. -i, --ignore
--replace
option. -l, --lock-tables
-L, --local
localhost
(which is the default host). -pyour_pass, --password[=your_pass]
mysqlimport
you will be prompted for a password. -P port_num, --port=port_num
localhost
, for which Unix sockets are used.) -r, --replace
--replace
and --ignore
options control handling of input records that duplicate existing records on unique key values. If you specify --replace
, new rows replace existing rows that have the same unique key value. If you specify --ignore
, input rows that duplicate an existing row on a unique key value are skipped. If you don't specify either option, an error occurs when a duplicate key value is found, and the rest of the text file is ignored. -s, --silent
-S /path/to/socket, --socket=/path/to/socket
localhost
(which is the default host). -u user_name, --user=user_name
-v, --verbose
-V, --version
Here follows a sample run of using 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 | +------+---------------+