Exporting Tables as Text Files
Problem
You want to export an entire table to a file.
Solution
Use the mysqldump program
with the --tab option.
Discussion
The mysqldump
program is used to copy or back up tables and
databases. It can write table output either as a text datafile or as a
set of INSERT statements that
recreate the rows in the table. The former capability is described
here, the latter in Recipes and .
To dump a table as a datafile, you must specify a
--tab option that indicates the
directory on the MySQL server host to which you want the server to
write the file. (The directory must already exist; the server won’t
create it.) For example, to dump the states table from the cookbook database to a file in the /tmp directory, use a command like
this:
%mysqldump --no-create-info --tab=/tmp cookbook statesmysqldump creates a datafile
using the table name plus a .txt
suffix, so this command writes a file named /tmp/states.txt. This form of mysqldump is in some respects the
command-line equivalent of SELECT
... INTOOUTFILE. For example, it writes out a table
as a datafile on the server host, and you must have the FILE privilege to use it. See Exporting Query Results from MySQL for a list of general
properties of SELECT ... INTOOUTFILE.
If you omit the --no-create-info
option, mysqldump
also creates a file /tmp/states.sql on your local host that
contains the CREATE
TABLE statement for the table. (The latter file will be owned by you, unlike the datafile, which is owned by the server.) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access