Skip to content Skip to sidebar Skip to footer

How Do You Run A Single Query Through Mysql From The Command Line?

I'm looking to be able to run a single query on a remote server in a scripted task. For example, intuitively, I would imagine it would go something like: mysql -uroot -p -hslavedb.

Solution 1:

mysql -u <user>-p -e 'select * from schema.table'

(Note the use of single quotes rather than double quotes, to avoid the shell expanding the * into filenames)

Solution 2:

mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"

From the usage printout:

-e, --execute=name Execute command and quit. (Disables --force and history file)

Solution 3:

here's how you can do it with a cool shell trick:

mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'

'<<<' instructs the shell to take whatever follows it as stdin, similar to piping from echo.

use the -t flag to enable table-format output

Solution 4:

If it's a query you run often, you can store it in a file. Then any time you want to run it:

mysql < thefile

(with all the login and database flags of course)

Solution 5:

echo"select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production

Post a Comment for "How Do You Run A Single Query Through Mysql From The Command Line?"