sqlalchemy核心和ORM之间有什么区别?

sqlalchemy核心和ORM之间有什么区别?,sqlalchemy,Sqlalchemy,和的目的有什么区别 顾名思义,ORM是一个对象关系映射器:其目的是将数据库关系表示为Python对象 核心是一个查询生成器。它的目的是提供一种编程方法来生成SQL查询和DDL,但这些查询的结果只是具有一点额外魔力的元组,而不是您自己的对象,在本例中是应用程序开发人员的设计 通常,如果您试图以编程方式构建查询,特别是基于仅在运行时可用的信息,那么您应该使用核心。如果您试图构建MVC风格的应用程序,并希望数据库支持的对象成为模型,那么您应该使用ORM。SQLAlchemy ORM是在SQLAlche

和的目的有什么区别

顾名思义,ORM是一个对象关系映射器:其目的是将数据库关系表示为Python对象

核心是一个查询生成器。它的目的是提供一种编程方法来生成SQL查询和DDL,但这些查询的结果只是具有一点额外魔力的元组,而不是您自己的对象,在本例中是应用程序开发人员的设计


通常,如果您试图以编程方式构建查询,特别是基于仅在运行时可用的信息,那么您应该使用核心。如果您试图构建MVC风格的应用程序,并希望数据库支持的对象成为模型,那么您应该使用ORM。

SQLAlchemy ORM是在SQLAlchemy核心之上开发的。我们可以在下面看到SQLAlchemy的基本架构

因此,如果需要,我们可以使用SQLAlchemy Core在创建后执行原始SQL查询。SQLAlchemy引擎对象提供了一组方法来执行连接、执行等基本操作。 比如说

引擎=创建引擎'mysql://scott:tiger@本地主机/测试' 连接=发动机。连接 结果=connection.executeselect username from users 对于结果中的行: printusername:,第['username'行] 连接。关闭 如果您想从SQLAlchemy获得ORM功能,您必须使用ORM部分。在这里,您可以创建python类,这些类将被视为表,类的属性将被视为列。除此之外,SQLAlchemy还将提供更多的方法来简化对象关系映射