你如何通过命令行通过mysql运行一个单一的查询?

我期望能够在脚本任务中的远程服务器上运行单个查询。

例如,直觉上,我会想象它会像这样:

mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;" 
 mysql -u <user> -p -e "select * from schema.table" 
 mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;" 

从使用打印输出:

-e--execute=name
执行命令并退出。 (禁用--force和历史文件)

这里是你如何使用酷贝壳技巧做到这一点:

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

'<<<'指示shell将其后的任何内容作为标准input,类似于echo的pipe道。

使用-t标志来启用表格格式输出

如果是经常运行的查询,则可以将其存储在文件中。 然后,任何时候你想运行它 :

 mysql < thefile 

(所有的login和数据库标志当然)

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