目前,许多主流的语言,都实现了对象关系映射(ORM Object Relational Mapper)的库包。ORM的主要功能是将数据库表中的每条记录映射成一个对象。所有的数据库操作,都转化为对象的操作。这样可以增加代码的可读性和安全性。当然性能上会低于直接执行sql命令。本文介绍Sqlalchemy的ORM操作。Sqlalchemy的版本需要在1.1以上。
在执行后面的代码前,请保证已经根据上一篇博文的介绍创建好了名为users的表格。
在ORM中,数据库的每张表,都对应一个model类。而这些model类都需要继承一个名为declarative base class的基类。我们需要通过下面的代码来获得这个基类。
from sqlalchemy.ext.declarative import declarative_base
BASE = declarative_base()
有了这个基类,就可以为users表定义model类了。
class User(BASE):
__tablename__ = "users"
id = Column(INTEGER, primary_key=True)
name = Column(CHAR(127))
password = Column(CHAR(127))
上面的代码中,__tablename__类成员变量指明了User类对应的是数据库的users表。后面的3个类成员变量都是Column对象,分别对应表的三个域(field)。 <

本文介绍了使用SQLAlchemy ORM进行数据库操作,包括如何定义Model类与数据库表对应,如何添加记录到数据库,以及如何禁用session的自动提交功能。通过示例代码展示了创建User对象并将其添加到数据库的过程,强调了添加记录后需要显式提交才能完成数据库更新。此外,还提及了查询和更新记录的内容。
最低0.47元/天 解锁文章
1618





