mysql(1) --user=username --password -h localhost database -B query.sql | sed(1) "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > query_export.csv
the MySQL command-line tool
--user=user_name, -u user_name

 The MySQL user name to use when connecting to the server.
--password[=password], -p[password]

 The password to use when connecting to the server. If you use the short option form (-p), you cannot
 have a space between the option and the password. If you omit the password value following the
 --password or -p option on the command line, mysql prompts for one.

 Specifying a password on the command line should be considered insecure. See Section 5.3.2.2, “End-
 User Guidelines for Password Security”. You can use an option file to avoid giving the password on
 the command line.
--host=host_name, -h host_name

 Connect to the MySQL server on the given host.
mysql [options] db_name

mysql is a simple SQL shell (with GNU readline capabilities). It supports interactive and noninteractive
use. When used interactively, query results are presented in an ASCII-table format. When used
noninteractively (for example, as a filter), the result is presented in tab-separated format. The output
format can be changed using command options.
--batch, -B

 Print results using tab as the column separator, with each row on a new line. With this option, mysql
 does not use the history file.

 Batch mode results in nontabular output format and escaping of special characters. Escaping may be
 disabled by using raw mode; see the description for the --raw option.
Pipelines
    A  pipeline is a sequence of one or more commands separated by one of the control operators | or |&.  The
    format for a pipeline is:

           [time [-p]] [ ! ] command [ [||&] command2 ... ]

    The standard output of command is connected  via  a  pipe  to  the  standard  input  of  command2.   This
    connection  is performed before any redirections specified by the command (see REDIRECTION below).  If |&
    is used, the standard error of command is connected to command2's standard input through the pipe; it  is
    shorthand  for  2>&1  |.   This  implicit  redirection  of  the  standard  error  is  performed after any
    redirections specified by the command.

    The return status of a pipeline is the exit status of the last command, unless  the  pipefail  option  is
    enabled.   If  pipefail  is  enabled,  the  pipeline's return status is the value of the last (rightmost)
    command to exit with a non-zero status, or zero if all commands exit successfully.  If the reserved  word
    !   precedes  a  pipeline, the exit status of that pipeline is the logical negation of the exit status as
    described above.  The shell waits for all commands in the pipeline to terminate before returning a value.

    If the time reserved word precedes a pipeline, the elapsed as well as user and system  time  consumed  by
    its execution are reported when the pipeline terminates.  The -p option changes the output format to that
    specified by POSIX.  When the shell is in posix mode, it does not recognize time as a  reserved  word  if
    the  next  token begins with a `-'.  The TIMEFORMAT variable may be set to a format string that specifies
    how the timing information should be displayed; see the description of TIMEFORMAT under  Shell  Variables
    below.

    When the shell is in posix mode, time may be followed by a newline.  In this case, the shell displays the
    total user and system time consumed by the shell and its children.  The TIMEFORMAT variable may  be  used
    to specify the format of the time information.

    Each command in a pipeline is executed as a separate process (i.e., in a subshell).
stream editor for filtering and transforming text
If no -e, --expression, -f, or --file option is given, then the first non-option argument is taken as the
sed script to interpret.  All remaining arguments are names  of  input  files;  if  no  input  files  are
specified, then the standard input is read.
Before a command is executed, its input and output may be redirected using a special notation interpreted
by  the  shell.   Redirection  may  also  be used to open and close files for the current shell execution
environment.  The following redirection operators may precede or appear anywhere within a simple  command
or may follow a command.  Redirections are processed in the order they appear, from left to right.

Redirecting Output
    Redirection of output causes the file whose name results from the expansion of  word  to  be  opened  for
    writing  on  file descriptor n, or the standard output (file descriptor 1) if n is not specified.  If the
    file does not exist it is created; if it does exist it is truncated to zero size.

    The general format for redirecting output is:

           [n]>word

    If the redirection operator is >, and the noclobber option to the  set  builtin  has  been  enabled,  the
    redirection  will  fail if the file whose name results from the expansion of word exists and is a regular
    file.  If the redirection operator is >|, or the redirection operator is > and the  noclobber  option  to
    the  set  builtin  command  is  not  enabled, the redirection is attempted even if the file named by word
    exists.
source manpages: mysqlsed