1
我正在使用MysqlDB。它是否提供了執行多個SELECT
查詢的方法,如mysqli_multi_query呢?如果沒有,是否有一個Python庫允許這樣做?使用python/mysql進行多重查詢
有executemany
,但那不是我要找的。我正在與獅身人面像工作,並試圖讓其batch queries工作。
我正在使用MysqlDB。它是否提供了執行多個SELECT
查詢的方法,如mysqli_multi_query呢?如果沒有,是否有一個Python庫允許這樣做?使用python/mysql進行多重查詢
有executemany
,但那不是我要找的。我正在與獅身人面像工作,並試圖讓其batch queries工作。
我花了一些時間在MySQLdb
的源代碼,以挖掘和答案是YES 你可以做多個查詢與它:
import MySQLdb
db = MySQLdb.connect(user="username", db="dbname")
cursor = db.cursor()
batch_queries = '''
SELECT * FROM posts WHERE id=1;
SELECT * FROM posts WHERE id=2;
'''
cursor.execute(batch_queries)
print cursor.fetchone()
while cursor.nextset(): # iterate to next result set if there is any
print cursor.fetchone()
cursor.close()
在我的本地測試成功。希望能幫助到你。
它絕對會!非常感謝。 – georg
['MySQLCursor.execute()'](http://dev.mysql.com/doc/connector-python/en/myconnpy_MySQLCursor_execute.html)需要一個啓用多語句的'multi'參數,所以我想象一些Python軟件包利用了這一點。但爲什麼你會想要這樣做呢? – eggyal
@eggyal:謝謝你的提示!使用oracle連接器而不是mysqldb可能是一個選項,但我很好奇mysqldb是否提供了類似的東西。 – georg
@eggyal這對模式遷移腳本非常有用:) –