SQLAlchemy or psycopg2?
我正在编写一个快速且肮脏的脚本,该脚本需要与数据库(PG)进行交互。
该脚本是对现有问题的实用,战术解决方案。但是,我设想该脚本将随着时间的推移而演变成一个更加"完善"的系统。考虑到它目前正在快速整合的事实(即我没有时间倾注大量文档),我很想使用psycopg进行快速而肮脏的开发。
psycopg2的优点(据我目前所知)是:
缺点:
我对SqlAlchemy的理解(缓慢/解释,肿,陡峭的学习曲线)是否正确-是否可以以我想使用psycopg的"粗略和准备好"的方式使用sqlAlchemy?
有这样做的例子吗?
SQLAlchemy是一个ORM,psycopg2是一个数据库驱动程序。这些是完全不同的东西:SQLAlchemy生成SQL语句,而psycopg2将SQL语句发送到数据库。 SQLAlchemy依靠psycopg2或其他数据库驱动程序与数据库进行通信!
作为一个相当复杂的软件层,SQLAlchemy确实增加了一些开销,但至少在您学习了该库之后,它也极大地提高了开发速度。 SQLAlchemy是一个出色的库,它将教您整个ORM概念,但是如果您不想生成以SQL语句开头的内容,那么您就不需要SQLAlchemy。
要与数据库对话,任何人都需要驱动程序。如果您正在使用SQL Plus for oracle客户端,MysqlCLI for Mysql客户端,则它将直接运行查询,并且该客户端附带DBServer Pack。
要从外部使用Java,C,Python,C#等任何语言进行通信,...需要该数据库的驱动程序。 psycopg2是用于从python运行PostgreSQL查询的驱动程序。
SQLAlchemy是与数据库驱动程序不同的ORM。它将为您提供灵活性,因此您可以在没有任何数据库特定标准的情况下编写代码。 ORM为程序员提供数据库独立性。如果在ORM中写入