我可以执行mysql传入一个文件,如下所示。
mysql -u username -p < some_file
在bash脚本中,我有一个函数,它响应我要传递到bash脚本中同一命令的输出。
some_function() { echo "Some SQL" }
如何使用管道/重定向将输出传递到mysql?我试过以下方法,但没有这样的文件或目录,就失败了。如何使用这里函数的输出。
mysql -u username -p < some_function
apeeds0o1#
无需使用管道或重定向在这种情况下,您可以直接使用 -e 执行某些sql命令的选项:
-e
mysql -u username -p -e "SQL/MySQL commands"
特定数据库的示例:
mysql -u username -p -e "use database_name; SHOW tables" mysql -u username -p -e "SHOW tables" database_name
您还可以捕获命令或函数的输出,并将其作为参数传递,如下所示:
sql_command="$(your_function)" mysql -u username -p -e "${sql_command}" database_name;
如果您真的想使用管道或重定向(但我认为在这种情况下没有意义):
$ mysql -u root -p database_name < <(echo "SHOW TABLES") # redirection $ mysql -u root -p database_name <<< "$(echo "SHOW TABLES")" # another way to use redirection $ echo "SHOW TABLES"|mysql -u root -p database_name # pipe
1条答案
按热度按时间apeeds0o1#
无需使用管道或重定向在这种情况下,您可以直接使用
-e
执行某些sql命令的选项:特定数据库的示例:
您还可以捕获命令或函数的输出,并将其作为参数传递,如下所示:
如果您真的想使用管道或重定向(但我认为在这种情况下没有意义):