【问题标题】:How to properly use mysqldb in python如何在python中正确使用mysqldb
【发布时间】:2011-09-21 03:17:30
【问题描述】:

我正在尝试弄清楚如何使用 python 的 mysqldb。我可以用我目前的知识完成我的工作,但我想使用最佳实践。

我应该正确关闭我的光标吗?退出程序不是自动关闭吗? (我不应该期望对象析构函数这样做吗?)

我应该为每个查询创建新的游标,还是一个游标足以满足同一个数据库中的多个不同查询?

【问题讨论】:

  • 您是否有什么特别的原因要使用MySQLdb 而不是像sqlalchemy 这样的用户友好的东西?
  • 或者像oursql这样更好的包装器

标签: python cursor mysql-python


【解决方案1】:

我应该正确关闭我的光标吗?

是的,你应该这样做。显式优于隐式。

我应该为每个 查询,或者一个游标就足够了 多个不同的查询在同一个 数据库?

这取决于您如何使用此光标。对于简单的任务,使用一个光标就足够了。对于一些复杂的应用程序,最好为每批 SQL 查询创建单独的游标。

【讨论】:

  • 感谢您的回答。好吧,实际上我正在编写一个脚本,但即使我必须创建一个 gui 应用程序,在开始时创建一个光标并在需要一些查询时使用它似乎更合理(例如检查新数据)。我不确定这是否正确。好吧,我的主要问题是我没有找到一个很好的教程,它涵盖的不仅仅是基础知识或好的文档。官方 (?) 文档似乎假设我已经知道有关 c 库的一切
  • @user747704 我建议对一组查询使用一个游标,执行一个操作(例如,一些检查查询、更新/插入查询、另一个检查/读取查询)。在大型应用程序上使用一个光标是个坏主意。
  • 您能否详细说明在应用程序范围内使用一个光标不好的原因?我在这方面有点轻,知识渊博。
  • @Michael 系统的不同部分可能使用不同的游标类型。此外,他们可能希望为光标对象设置一些自定义属性(例如'SET ATHOCOMMIT=0'),而其他部分需要原始连接属性。
猜你喜欢
  • 2014-03-10
  • 2014-08-20
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
相关资源
最近更新 更多