如何创建脚本来运行 mysql 命令

如何创建脚本来运行 mysql 命令

是否可以使用 shell 脚本来运行以下命令?

mysql -u user
use mydb
delete from mydata where row='xx'

答案1

这是“此处文档”的工作:

mysql -u user << END_CMDS
use mydb
delete from mydata where row='xx'
END_CMDS

“此处文档”是一种将 SQL 内嵌到脚本本身中的方法。我不确定用户 ID 的 MySQL 密码是如何发挥作用的。您必须尝试该用户是否有密码。

可以在 shell 脚本中缩进调用mysql,但不要缩进结束“此处文档”的标记,在上面的示例中为 END_CMDS。

答案2

该命令可以帮助您:

mysql -u user -p mydb --execute="从 mydata 中删除,其中 row='xx'"

答案3

您可能有兴趣检查我的一些脚本神话电视工具网页。它们是从 shell 脚本运行 mysql 命令以及基于 getopt 选项解析构建中等复杂的 mysql 命令(例如,使用多个 WHERE 子句)的相当好的示例。

它们都使用相同的基本技术来构造 SQL 字符串并将其通过管道传输到mysqlor mysql --batch

它们都不使用--user--password选项,因为系统上的任何用户都可以搜索/proc(或只是运行ps)并在命令行选项中查看登录名和密码。相反,它们依赖于~/.my.cnf包含登录凭据的文件的存在。

相关内容