为啥使用 SQLAlchemy?编码是不是非常方便? [关闭]
Posted
技术标签:
【中文标题】为啥使用 SQLAlchemy?编码是不是非常方便? [关闭]【英文标题】:Why use SQLAlchemy? Is it very convinent for coding? [closed]为什么使用 SQLAlchemy?编码是否非常方便? [关闭] 【发布时间】:2013-03-03 19:05:38 【问题描述】:由于我非常熟悉用 Python 编写简单的 SQL,我还没有意识到使用 SQLAlchemy 或其他 ORM 可以获得的好处。
它是为那些不喜欢程序中的 SQL 的人设计的吗?还是让您的脚本跨越不同类型的数据库?
或者它让你的脚本更加 Pythonic?
或者对于一些处理底层数据库的任务来说是不是很方便,它会自动为你做很多琐碎的事情,所以你只需编写 2-3 行代码调用 SQLAlchemy,它就会为你完成所有琐碎的数据库操作?
如果有人可以提供代码来演示使用纯 SQL 与使用 SQLALchemy 并展示其优于纯 SQL 的优势,我们将不胜感激。
谢谢!
【问题讨论】:
【参考方案1】:你检查了吗? https://groups.google.com/forum/?fromgroups=#!topic/sqlalchemy/VXXB12-3JCY
另外,Django ORM 和 SQL Alchemy 的比较:
http://blog.mathieu-leplatre.info/sqlalchemy-a-brave-new-world.html
将回复粘贴到上述 google 群组链接中:
马克 Erbaugh 22/11/2010
我没有任何示例代码,但我已经使用纯 SQL 编写了几个 Python 应用程序(和一个 C++ 应用程序)并且有 开始使用 SQLAlchemy 开发一个新应用程序,所以我将分享我的 经验。
让我补充一点,我花了几年时间来维持一个中等规模的 SQL 数据库,写了很多纯 SQL,虽然不一定使用 蟒蛇。
当我的程序访问 SQL 时,我发现自己编写了大量 SQL 代码 访问数据。很多这段代码虽然不完全相同,但非常 相似,似乎是多余的。举个简单的单表为例 抬头。如果你想做简单的 CRUD(创建、更新和删除),你 必须为每个表编写至少三个单独的 SQL 语句。 虽然这些 SQL 语句的框架相似,但具体的 列名和表名不同。我最后写了一些 如果我提供了一个将构建 SQL 语句的 Python 例程 列列表和表名。但这就是 SQLAlchemy 所做的 (以及更多)那么为什么要重新发明***呢?
对于我的 C++ 应用程序(我没有找到合适的 ORM),我最终选择了 编写 Python 脚本来生成 SQL 语句和 C++ 代码 访问表格。
另一个优点是您可以相对轻松地处理 数据库结构的变化。在我开发 SA 应用程序时,我 意识到我需要在(至少)我的一个表中添加一个新列。 我正在使用 SA 的声明性方法,我只需要添加列 对我的声明。我不必更改任何 SQL 或 Python 代码。
我在使用 SQLAlchemy 时遇到的一个“问题”是忘记了我的做法 纯 SQL 的东西。在最简单的层面上,SQLAlchemy 可以生成 访问单个表的 SQL 和 Python 代码,您可能会 很想编写 Python 代码来合并这种单表访问 成更大的数据图,但 SQLAlchemy 的真正力量(恕我直言)是 它可以自动处理复杂的数据图。
标记
【讨论】:
以上是关于为啥使用 SQLAlchemy?编码是不是非常方便? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章