如何在bash脚本中使用参数执行SQL命令

时间:2014-03-17 16:11:47

标签: mysql bash

我想创建一个bash脚本,它将用户添加到MySQL数据库中的自定义表中。我将用户名作为脚本参数存储在变量$ USERNAME中,我需要将此查询执行到MySQL服务器:

INSERT INTO `user` VALUES ('$USERNAME', password)

我知道如何执行一个sql文件但是当我在变量中有用户名时,它不会帮助我。我能想到的唯一方法是使用GET值执行php文件并在php中执行sql命令。并且我不确定用php会像我想的那样工作。

还有更好的方法吗?

由于

编辑: 在你有用的答案后,我使用了这个有效的命令:

mysql -ppassword --default-character-set=utf8 -e "INSERT INTO table VALUES (\"$USERNAME@\",\"password\")" database

2 个答案:

答案 0 :(得分:1)

您可以尝试使用heredoc:

#!/bin/bash

USERNAME="example"

mysql <<MYSQL
INSERT INTO user VALUES ('$USERNAME', password);
MYSQL

答案 1 :(得分:0)

命令是:

mysql -pyourpasswordwithoutspaces -e "Your insert query goes here with semicolon;"

我不确定分号是否必要,但提供它们总是好的。