在python中建立数据库连接的正确方法

时间:2011-06-08 15:58:16

标签: python database coding-style mysql-python

我有一个包含多个函数的脚本,这些函数都需要进行数据库调用。我正在努力改进编写干净的代码,而不是仅仅将糟糕的脚本放在一起。通常认为建立全局数据库连接的最佳方法是可以在脚本中的任何位置访问,但不容易出错,例如意外重新定义持有连接的变量。我想我应该把所有东西放在一个模块中?任何指向实际代码的链接都非常有用。感谢。

2 个答案:

答案 0 :(得分:3)

如果你正在使用Python和数据库,你不能不看SQLAlchemy

  

SQLAlchemy是Python SQL工具包   和对象关系映射器   给应用程序开发人员充分   SQL的强大功能和灵活性。

     

它提供了一整套众所周知的   企业级持久性模式,   旨在提高效率   高性能的数据库访问,   适应简单和Pythonic   领域语言。

我已经构建了非常复杂的数据库,其代码数量惊人(几百行)。模式定义几乎是自我文档化的,用于对象关系映射器的对象是 Plain Old Python Objects (即,您已经拥有的),查询API几乎是显而易见的。此外,文档非常出色:许多在线示例,完整记录的API和O'Reilly书籍虽然远非完美,但在几个晚上确实会将您从零变为危险。

如果您不想使用对象关系映射器,则可以始终回退到普通连接和文字SQL。此外,代码是可移植的,并且与数据库无关(相同的代码可以与MySQL,Oracle,SQLite和其他数据库管理器一起使用)。

Session对象将自动处理汇集(您提到的问题)。

理解其强大功能的最佳方式可能是遵循Google查询sqlalchemy tutorial的第一个结果页面中获得的教程。

答案 1 :(得分:0)

使用模型系统/ ORM系统。