簡體   English   中英

如何在MySQL Workbench中使用Python腳本執行SQL查詢

[英]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上執行下一步:

  1. 啟動MySQLWorkbench
  2. 連接到本地數據庫
  3. 選擇SCHEMAS的sakila
  4. 使用Tools-> scripting shell或(Ctrl + F3)啟動腳本shell
  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 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM