pyp*_*dbc 40 python sql database sqlalchemy
由于非常熟悉用Python编写纯SQL,我没有意识到使用SQLAlchemy或其他ORM可以获得的好处.
它是专为那些不喜欢程序中的SQL的人设计的吗?或者它是否使您的脚本跨越不同类型的数据库?
或者它使你的脚本更Pythonic?
或者对于处理底层数据库的某些任务来说它是非常有用的,并且它会自动为你做很多繁琐的事情,所以你只需要编写2-3行代码来调用SQLAlchemy并为你完成所有的trival数据库操作?
如果有人能够使用普通SQL和使用SQLALchemy提供代码演示并显示优于纯SQL的优点,那将是非常适用的.
谢谢!
God*_*Man 16
你检查过这个吗? 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群组链接粘贴响应:
Mark Erbaugh 22/11/2010
我没有任何示例代码,但是我使用纯SQL编写了几个Python应用程序(和一个C++应用程序),并且已经开始使用SQLAlchemy开发新应用程序了,所以我将分享我的经验.
让我补充一点,我花了几年时间维护一个中等大小的SQL数据库并写了很多纯SQL,但不一定使用Python.
当我的程序访问SQL时,我发现自己编写了大量SQL代码来访问数据.很多这些代码虽然不相同,却非常相似,似乎是多余的.例如,进行简单的单表查找.如果要进行简单的CRUD(创建,更新和删除),则必须为每个表编写至少三个单独的SQL语句.虽然这些SQL语句的框架类似,但特定的列名和表名是不同的.我最后编写了一些Python例程,如果我提供了列列表和表名,那么它将构建SQL语句.但这就是SQLAlchemy所做的(以及更多),为什么要重新发明轮子呢?
对于我的C++应用程序(我没有找到合适的ORM),我最终编写了一个Python脚本来生成SQL语句和C++代码来访问这些表.
另一个优点是可以相对轻松地处理数据库结构的更改.当我开发我的SA应用程序时,我意识到我需要在(至少)我的一个表中添加一个新列.我正在使用SA的声明式方法,我只需要将列添加到我的声明中.我没有必要更改任何SQL或Python代码.
我在SQLAlchemy中遇到的一个"问题"就是忘记了我用纯SQL做事的方式.在最简单的层面上,SQLAlchemy可以生成SQL和Python代码来访问单个表,并且您可能想要编写Python代码以将这种单表访问合并到更大的数据图中,但SQLAlchemy的真正功能(IMHO)是它可以自动处理复杂的数据图.
标记
归档时间: |
|
查看次数: |
9309 次 |
最近记录: |