我正在使用一个可以运行wsh,vbs,bat等脚本的应用程序。也可以将参数“传递”到脚本中。我想在mysql数据库中执行INSERT
查询,我怎么能实现它?该应用程序运行类似的东西:
myscript NameTable, string1, string2, string3
感谢您的建议
答案 0 :(得分:1)
从中运行批处理脚本 操作系统命令行,类型 从命令中得到这样的东西 提示:
mysql -uusername -ppassword -e“set @ 1:='有些价值'; source run.sql;“
这可以随意扩展。 或者,你可以放一切 在run.sql。
这只需要:
(i)当前的mysql程序 文件夹,或在路径
(ii)当前文件夹中的run.sql
将params传递给MySQL客户端脚本 从shell脚本:
echo SELECT @foo> /tmp/myscript.sql echo SET @foo:='bar'; > /tmp/setvar.sql echo SOURCE /tmp/setvar.sql;资源 /tmp/myscript.sql; > /tmp/turnkey.sql mysql -uUSR -pPWD< /tmp/turnkey.sql rm /tmp/setvar.sql /tmp/turnkey.sql
在Windows下,MySQL客户端脚本 界面可能很挑剔。替代 你的MySQL用户名& USR的密码 和PWD,然后这个例子有效:
如果不存在c:\ tmp md c:\ tmp echo 显示来自测试的表> c:\ tmp \ test.sql“c:\ program files \ MySQL \ MySQL Server 6.0 \ bin \ mysql.exe“-uUSR -pPWD -e”source c:\ tmp \ test.sql“
例如,参数化加载数据 infile中:
REM批处理文件mysqlLDI.BAT到 参数化MySQL LOAD DATA INFILE 命令:REM呼叫,%1 =输入 filename,%2 = db.table echo LOAD DATA INFILE'%1'进入表%2 LINES 终止于“\ r \ n”> \ tmp目录\ doit.sql mysql -uUSR -pPWD< /tmp/doit.sql