Copyright (C) 2000-2012 |
GNU Info (mysql.info)Batch modeUsing `mysql' in Batch Mode =========================== In the previous sections, you used `mysql' interactively to enter queries and view the results. You can also run `mysql' in batch mode. To do this, put the commands you want to run in a file, then tell `mysql' to read its input from the file: shell> mysql < batch-file If you need to specify connection parameters on the command line, the command might look like this: shell> mysql -h host -u user -p < batch-file Enter password: ******** When you use `mysql' this way, you are creating a script file, then executing the script. Why use a script? Here are a few reasons: * If you run a query repeatedly (say, every day or every week), making it a script allows you to avoid retyping it each time you execute it. * You can generate new queries from existing ones that are similar by copying and editing script files. * Batch mode can also be useful while you're developing a query, particularly for multiple-line commands or multiple-statement sequences of commands. If you make a mistake, you don't have to retype everything. Just edit your script to correct the error, then tell `mysql' to execute it again. * If you have a query that produces a lot of output, you can run the output through a pager rather than watching it scroll off the top of your screen: shell> mysql < batch-file | more * You can catch the output in a file for further processing: shell> mysql < batch-file > mysql.out * You can distribute your script to other people so they can run the commands, too. * Some situations do not allow for interactive use, for example, when you run a query from a `cron' job. In this case, you must use batch mode. The default output format is different (more concise) when you run `mysql' in batch mode than when you use it interactively. For example, the output of `SELECT DISTINCT species FROM pet' looks like this when run interactively: +---------+ | species | +---------+ | bird | | cat | | dog | | hamster | | snake | +---------+ But like this when run in batch mode: species bird cat dog hamster snake If you want to get the interactive output format in batch mode, use `mysql -t'. To echo to the output the commands that are executed, use `mysql -vvv'. automatically generated by info2www version 1.2.2.9 |