草庐IT

python - 如何启用 MySQL 客户端自动重新连接 MySQLdb?

我遇到了PHP的做法:my_boolreconnect=1;mysql_options(&mysql,MYSQL_OPT_RECONNECT,&reconnect);但MySQLdb(python-mysql)没有运气。谁能给个提示?谢谢。 最佳答案 我通过创建一个包装cursor.execute()方法的函数解决了这个问题,因为这是引发MySQLdb.OperationalError异常的原因。上面的另一个例子暗示是conn.cursor()方法抛出了这个异常。importMySQLdbclassDB:conn=Nonedefco

python - 如何通过mysqldb将 Pandas 数据框插入数据库?

我可以从python连接到我的本地mysql数据库,我可以创建、选择和插入单独的行。我的问题是:我可以直接指示mysqldb获取整个数据帧并将其插入现有表中,还是需要遍历行?在任何一种情况下,对于具有ID和两个数据列以及匹配数据框的非常简单的表,python脚本会是什么样子? 最佳答案 更新:现在有一个to_sql方法,这是执行此操作的首选方法,而不是write_frame:df.to_sql(con=con,name='table_name_for_df',if_exists='replace',flavor='mysql')另请

python - 如何安装 MySQLdb 包? (导入错误 : No module named setuptools)

我正在尝试安装MySQLdb包。我找到了源代码here.我做了以下事情:gunzipMySQL-python-1.2.3c1.tar.gztarxvfMySQL-python-1.2.3c1.tarcdMySQL-python-1.2.3c1pythonsetup.pybuild结果我得到了以下结果:Traceback(mostrecentcalllast):File"setup.py",line5,in?fromsetuptoolsimportsetup,ExtensionImportError:Nomodulenamedsetuptools有人知道如何解决这个问题吗?顺便说一句,如

python - 什么是 PyMySQL,它与 MySQLdb 有何不同?它会影响 Django 部署吗?

我刚刚通过使用PyMySQL而不是MySQLdb解决了我的Django1.3应用程序中的一些问题。我按照本教程了解如何进行切换:http://web-eng-help.blogspot.com/2010/09/install-mysql-5-for-python-26-and.html现在我想知道PyMySQL到底是什么以及它与MySQLdb有何不同。我在localhost上使用它,然后将其上传到某个主机。可以在本地主机上使用PyMySQL并托管它们提供的任何东西吗?由于我已将base.py和introspection.py中的“MySQLdb”更改为“PyMySQL”,是否需要在更改

python - 打印 MySQLdb 运行的实际查询?

我正在寻找一种在查询执行时调试查询的方法,我想知道是否有一种方法可以让MySQLdb在完成插入参数之后打印出它运行的实际查询?从文档来看,似乎应该有一个Cursor.info()调用,它将提供有关上次查询运行的信息,但这在我的版本(1.2.2)上不存在。这似乎是一个显而易见的问题,但我一直在寻找答案。提前致谢。 最佳答案 我们在名为cursor._last_executed的游标对象上发现了一个属性,该属性保存最后一个要运行的查询字符串,即使发生异常也是如此。这对我们来说在生产环境中比一直使用分析或MySQL查询日志更容易和更好,因

python - 为什么easy_install找不到MySQLdb?

这是我尝试过的:$easy_install-2.6-d/home/user/lib/python2.6MySQLdbSearchingforMySQLdbReadinghttp://pypi.python.org/simple/MySQLdb/Couldn'tfindindexpagefor'MySQLdb'(maybemisspelled?)Scanningindexofallpackages(thismaytakeawhile)Readinghttp://pypi.python.org/simple/NolocalpackagesordownloadlinksfoundforMyS

python - 内爆列表以在 python MySQLDB IN 子句中使用

我知道如何将列表映射到字符串:foostring=",".join(map(str,list_of_ids))而且我知道我可以使用以下方法将该字符串放入IN子句中:cursor.execute("DELETEFROMfoo.barWHEREbazIN('%s')"%(foostring))我需要的是使用MySQLDB安全地完成同样的事情(避免SQL注入(inject))。在上面的示例中,因为foostring没有作为参数传递给执行,所以它很容易受到攻击。我还必须在mysql库之外引用和转义。(有一个relatedSOquestion,但那里列出的答案要么不适用于MySQLDB,要么容易

python - 何时使用 MySQLdb 关闭游标

我正在构建一个WSGIWeb应用程序,并且我有一个MySQL数据库。我正在使用MySQLdb,它提供用于执行语句和获取结果的游标。获取和关闭游标的标准做法是什么?特别是,我的游标应该持续多久?我应该为每个事务获取一个新游标吗?我相信您需要在提交连接之前关闭游标。查找不需要中间提交的事务集有什么显着优势,这样您就不必为每个事务获取新游标吗?获取新游标是否有很多开销,还是没什么大不了的? 最佳答案 不要问什么是标准实践,因为这通常是不清楚和主观的,您可以尝试从模块本身寻求指导。一般来说,使用with关键字作为另一个用户的建议是个好主意,

python - 如何在 OSX 10.6 中将 MySQLdb 与 Python 和 Django 一起使用?

对于OSX10.6用户来说,这是一个备受争议的问题,但我一直无法找到可行的解决方案。这是我的设置:Python2.6.164位Django1.2.1MySQL5.1.47osx10.664bit我使用--no-site-packages创建了一个virtualenvwrapper,然后安装了Django。当我激活virtualenv并运行pythonmanage.pysyncdb时,我得到了这个错误:Traceback(mostrecentcalllast):File"manage.py",line11,inexecute_manager(settings)File"/Users/jo

python - 如何使用 pip 安装 Python MySQLdb 模块?

如何安装MySQLdb使用pip的Python模块? 最佳答案 这很容易做到,但很难记住正确的拼写:pipinstallmysqlclient如果您需要1.2.x版本(仅限旧版Python),请使用pipinstallMySQL-python注意:运行上述命令时,可能必须存在一些依赖项。关于如何在各种平台上安装这些的一些提示:Ubuntu14、Ubuntu16、Debian8.6(杰西)sudoapt-getinstallpython-pippython-devlibmysqlclient-devFedora24:sudodnfin