![](/img/trans.png)
[英]How to execute a MySQL query with a python script using the MySQLdb library?
[英]How to execute an SQL query with Python script in MySQL Workbench
我想从MySQL Workbench中的Python脚本环境执行SQL查询。 我查看了grt模块的MySQL Workbench文档并找到了executeScript方法,但我似乎无法用它来进行查询。
执行此Python代码:
import grt
querystring = "select * from Purchases WHERE PurchaseAmount > 600 and PurchaseAmount < 2500"
executeScript(querystring)
生成以下错误消息:
Uncaught exception while executing [filepath]runquery.py:
File "[filepath]runquery.py", line 10, in <module>
executeScript(querystring)
NameError: name 'executeScript' is not defined
我不明白虚拟grt :: ListRef executeScript(const std :: string&sql)意味着什么,所以我无法正确格式化我的查询,但是,错误消息似乎表明executeScript方法无论如何都不存在。 我看的大多数文档都有正确格式化的函数调用的例子,但我似乎找不到任何executeScript。
我想要做的就是在MySQL Workbench Python脚本环境中将我的字符串作为SQL查询运行。
谢谢!
我是Python和SQL的新手,所以请耐心等待。 :)
要运行executeScript函数,您需要与sqleditor对象进行交互。 要进行测试,请使用示例数据库在MS Windows上执行下一步:
脚本内容:
import grt
result = grt.root.wb.sqlEditors[0].executeScript("select * from actor limit 10;")
for col in result[0].columns:
print col.name
要了解如何在脚本中引用对象,可以很容易地使用Globals Tree面板的类浏览器并在对象上单击鼠标右键并选择“Copy Path for Python”
如果需要在Windows中从命令行运行脚本,可以运行类似以下命令的操作:
"C:\Program Files\MySQL\MySQL Workbench 6.1 CE\MySQLWorkbench.exe" -query "Local instance MySQL56" -run-python "execfile('c:\Users\Root\AppData\Roaming\MySQL\Workbench\scripts\script.py')" -log-to-stderr -v
(第一个)问题似乎是你使用了一个名为executeScript()的函数,你没有定义或从任何地方获取。 如果它在grt模块中(我不熟悉),你必须按如下方式进行:
from grt import executeScript
querystring = "select * from Purchases WHERE PurchaseAmount > 600 and PurchaseAmount < 2500"
executeScript(querystring)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.