我有一个包含多个函数的脚本,这些函数都需要进行数据库调用。我正在尝试更好地编写干净的代码,而不是仅仅将风格糟糕的脚本拼凑在一起。通常被认为是建立全局数据库连接的最佳方法,该连接可以在脚本中的任何位置访问,但不容易出现错误,例如意外重新定义保持连接的变量。我想我应该把所有东西都放在一个模块中?任何指向实际代码的链接也将非常有用。谢谢。
最佳答案
如果你正在使用 Python 和数据库,你不能不看 SQLAlchemy :
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.
我用极少的代码(几百行)构建了非常复杂的数据库。模式定义几乎是 self 记录的,用于对象关系映射器的对象是普通的旧 Python 对象(即,您已经拥有的对象),查询 API 几乎是显而易见的。此外,文档非常出色:许多在线示例、完整记录的 API 和一本 O'Reilly 的书,虽然远非完美,但确实可以让您在几个晚上从零变成危险。
如果您不想使用对象关系映射器,您总是可以回退到普通连接和文字 SQL
。此外,该代码是可移植的并且独立于数据库(相同的代码将适用于 MySQL、Oracle、SQLite 和其他数据库管理器)。
Session
对象将自动处理池化(您提到的问题)。
了解其强大功能的最佳方法可能是遵循 Google 查询 sqlalchemy 教程
的第一个结果页面中获得的教程。
关于python - 在python中建立数据库连接的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281732/