Telling mysql to Read Statements from Other Programs
Problem
You want to shove the output from another program into mysql.
Solution
Use a pipe .
Discussion
Telling mysql to Read Statements from a File used the following command to show how mysql can read SQL statements from a file:
%mysql cookbook < limbs.sqlmysql can also read a pipe, which means that it can receive output from other programs as its input. As a trivial example, the preceding command is equivalent to this one:
%cat limbs.sql | mysql cookbookBefore you tell me that I’ve qualified for this week’s “useless use of cat award,” [2] allow me to observe that you can substitute other commands for cat. The point is that any command that produces output consisting of semicolon-terminated SQL statements can be used as an input source for mysql. This can be useful in many ways. For example, the mysqldump utility generates database backups by writing a set of SQL statements that recreate the database. To process mysqldump output, feed it to mysql. This means you can use the combination of mysqldump and mysql to copy a database over the network to another MySQL server:
%mysqldump cookbook | mysql -h some.other.host.com cookbookProgram-generated SQL also can be useful when you need to
populate a table with test data but don’t want to write the INSERT statements by hand. Instead, write a
short program that generates the statements, and then send its output
to mysql using a pipe:
%generate-test-data | mysql cookbookSee Also
Chapter 10 discusses ...
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