我有一堆使用 name1 作为数据库名称并用我的数据填充该数据库的 mysql 脚本。但是,我希望能够选择数据库的名称,而不是在我的 sql 脚本中总是将其命名为 name1。
我已经有了一个包含我的数据文件路径的包装器 shell 脚本,现在我希望它也包含数据库的名称。
在我的 shell 脚本中,我分配:
DATABASE_NAME=$2
有什么方法可以在我的 mysql 脚本顶部使用 $DATABASE_NAME?所以在 mysql 脚本中,它将是:
USE DATABASE_NAME;
而不是我现在拥有的:
USE name1;
最佳答案
您可以使用mysql -e
来执行您的代码:
mysql -e "USE ${DATABASENAME}; Some sql"
这样任何替换都有效。
您可以选择将临时 sql 文件或管道代码写入您的 mysql,在解析该文件时只需替换 ${DATABASENAME}
。 (-e
选项是最透明和最简单的)
关于mysql - 如何将变量从 shell 脚本传递到 mysql 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38060314/