1.17.1 Problem
You want to shove the output from another program into mysql.
1.17.2 Solution
Use a pipe.
1.17.3 Discussion
An earlier section used the following command to show how mysql can read SQL statements from a file:
% mysql cookbook < limbs.sql
mysql can also read a pipe, to receive output from other programs as its input. As a trivial example, the preceding command is equivalent to this one:
% cat limbs.sql | mysql cookbook
Before you tell me that I've qualified for this week's "useless use of cat award,"[5] 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 is used to generate database backups. It writes a backup as a set of SQL statements that recreate the database, so to process mysqldump output, you 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:
[5] Under Windows, the equivalent would be the "useless use of type award":
% mysqldump cookbook | mysql -h some.other.host.com cookbook
Program-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 send its output to mysql using a pipe:
% generate-test-data | mysql cookbook
1.17.4 See Also
mysqldump is discussed further in Chapter 10.
Using the mysql Client Program
Writing MySQL-Based Programs
Record Selection Techniques
Working with Strings
Working with Dates and Times
Sorting Query Results
Generating Summaries
Modifying Tables with ALTER TABLE
Obtaining and Using Metadata
Importing and Exporting Data
Generating and Using Sequences
Using Multiple Tables
Statistical Techniques
Handling Duplicates
Performing Transactions
Introduction to MySQL on the Web
Incorporating Query Resultsinto Web Pages
Processing Web Input with MySQL
Using MySQL-Based Web Session Management
Appendix A. Obtaining MySQL Software
Appendix B. JSP and Tomcat Primer
Appendix C. References