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 | +------+---------------+