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=nameExecute command and quit. (Disables--forceand 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?"