DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(mysql.info.gz) Batch mode

Info Catalog (mysql.info.gz) Getting information (mysql.info.gz) Tutorial (mysql.info.gz) Examples
 
 3.5 Using `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 are running `mysql' under Windows and have some special
 characters in the file that cause problems, you can do this:
 
      C:\> mysql -e "source 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.
 
 If you want the script to continue even if some of the statements in it
 produce errors, you should use the `--force' command-line option.
 
 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
 `mysql' is run interactively:
 
      +---------+
      | species |
      +---------+
      | bird    |
      | cat     |
      | dog     |
      | hamster |
      | snake   |
      +---------+
 
 In batch mode, the output looks like this instead:
 
      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'.
 
 You can also use scripts from the `mysql' prompt by using the `source'
 or `\.' command:
 
      mysql> source filename;
      mysql> \. filename
 
Info Catalog (mysql.info.gz) Getting information (mysql.info.gz) Tutorial (mysql.info.gz) Examples
automatically generated byinfo2html