首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有多条语句的Python mysql连接器

具有多条语句的Python mysql连接器
EN

Stack Overflow用户
提问于 2018-07-27 00:25:09
回答 2查看 1K关注 0票数 0

我正在尝试通过mysql.connector运行一个SQL查询,该查询需要一个SET命令来查询特定的表:

代码语言:javascript
复制
import mysql.connector
import pandas as pd   

cnx = mysql.connector.connect(host=ip,
                              port=port,
                              user=user,
                              passwd=pwd,
                              database="")
sql="""SET variable='Test'; 
       SELECT * FROM table  """

df = pd.read_sql(sql, cnx)

当我运行它时,我得到了错误“执行多个语句时使用multi=True”。但是我该把multi=True放在哪里呢?

EN

回答 2

Stack Overflow用户

发布于 2018-07-27 00:31:43

将参数作为字典传递到params参数中应该可以做到这一点,文档here

代码语言:javascript
复制
pd.read_sql(sql, cnx, params={'multi': True}) 

这些参数被传递给底层数据库驱动程序。

票数 0
EN

Stack Overflow用户

发布于 2018-07-27 08:08:50

经过几个小时的实验,我想出了怎么做。如果这不是最简洁的方式,请原谅,但我能想到的最好的办法-

代码语言:javascript
复制
import mysql.connector
import pandas as pd   

cnx = mysql.connector.connect(host=ip,
                              port=port,
                              user=user,
                              passwd=pwd,
                              database="")
sql1="SET variable='Test';" 

sql2="""SELECT * FROM table  """

cursor=cnx.cursor()
cursor.execute(sql1)
cursor.close()

df = pd.read_sql(sql2, cnx)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51543505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档