【问题标题】:Proper way to establish database connection in python在python中建立数据库连接的正确方法
【发布时间】:2011-09-11 00:34:01
【问题描述】:

我有一个脚本,其中有几个函数都需要进行数据库调用。我试图在编写干净的代码方面做得更好,而不是仅仅将具有可怕风格的脚本放在一起。什么通常被认为是建立全局数据库连接的最佳方式,该连接可以在脚本中的任何位置访问,但不易出现错误,例如意外重新定义保持连接的变量。我想我应该把所有东西都放在一个模块中?任何指向实际代码的链接也将非常有用。谢谢。

【问题讨论】:

    标签: python database coding-style mysql-python


    【解决方案1】:

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

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

    它提供了一整套众所周知的 企业级持久性模式, 专为高效和 高性能数据库访问, 改编成简单的 Pythonic 领域语言。

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

    如果您不想使用对象关系映射器,您可以随时退回到普通连接和文字 SQL。此外,代码是可移植的并且独立于数据库(相同的代码将适用于 MySQL、Oracle、SQLite 和其他数据库管理器)。

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

    了解其强大功能的最佳方法可能是按照在 Google 查询 sqlalchemy tutorial 的第一个结果页面中获得的教程进行操作。

    【讨论】:

    • 啊,是的。我要纠正的特定脚本通常非常简单,所以我认为像 SQLAlchemy 这样的 ORM 可能只是矫枉过正,但我​​认为我会继续使用 SQLAlchemy,因为它可能会简化很多事情。谢谢。
    【解决方案2】:

    使用模型系统/ORM 系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-11
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      相关资源
      最近更新 更多