如何在MySQL工作台中使用Python脚本执行SQL查询

2024-05-14 07:13:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在MySQL工作台的Python脚本环境中执行SQL查询。我查看了MySQL Workbench documentation for the grt module并找到了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

我不明白virtualgrt::ListRef executeScript(const std::string&sql)是什么意思,因此无法正确格式化查询,但是,错误消息似乎表明executeScript方法无论如何都不存在。我看到的大多数文档都有格式正确的函数调用示例,但似乎找不到任何可供executeScript使用的示例。

我要做的只是在my SQL工作台Python脚本环境中将字符串作为SQL查询运行。

谢谢你!

我对Python和SQL还不熟悉,所以请耐心等待。:)


Tags: 方法脚本消息sql环境错误mysqlmodule
3条回答

要运行executeScript函数,需要与sqleditor对象交互。 要进行测试,请使用示例数据库在MS Windows上执行下一步:

  1. 启动MySQLWorkbench
  2. 连接到本地数据库
  3. 从模式中选择sakila
  4. 使用工具启动脚本shell->;脚本shell或(Ctrl+F3)
  5. 添加新的python脚本(test.py)
  6. 保存包含以下内容的脚本
  7. 在脚本shell中运行脚本

脚本内容:

import grt

result = grt.root.wb.sqlEditors[0].executeScript("select * from actor limit 10;")

for col in result[0].columns:
    print col.name

要了解如何在脚本中引用对象,很容易使用Globals树面板的类浏览器,并使用鼠标右键单击对象并选择“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)

相关问题 更多 >

    热门问题