- SQLAlchemy 教程
- SQLAlchemy - 主页
- SQLAlchemy - 简介
- SQLAlchemy Core
- 表达式语言
- 连接到数据库
- 创建表
- SQL 表达式
- 执行表达式
- 选择行
- 使用文本 SQL
- 使用别名
- 使用 UPDATE 表达式
- 使用 DELETE 表达式
- 使用多张表
- 使用多张表更新
- 顺序参数化更新
- 多表删除
- 使用联接
- 使用连接词
- 使用函数
- 使用集合运算
- SQLAlchemy ORM
- 声明映射
- 创建会话
- 添加对象
- 使用查询
- 更新对象
- 应用筛选器
- 筛选器运算符
- 返回列表和标量
- 文本 SQL
- 构建关系
- 处理相关对象
- 处理联接
- 常用关系运算符
- 热切加载
- 删除相关对象
- 多对多关系
- 方言
- SQLAlchemy 有用资源
- SQLAlchemy - 快速指南
- SQLAlchemy - 有用资源
- SQLAlchemy - 讨论
SQLAlchemy ORM - 添加对象
在 SQLAlchemy ORM 的前几章中,我们学习了如何声明映射和创建会话。在本章中,我们将学习如何向表中添加对象。
我们声明了已映射到 customers 表的 Customer 类。我们必须声明此类的对象并通过会话对象的 add() 方法将该对象永久添加到表中。
c1 = Sales(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]') session.add(c1)
请注意,此事务是挂起的,直到使用 commit() 方法刷新事务。
session.commit()
以下是将在 customers 表中添加记录的完整脚本 −
from sqlalchemy import Column, Integer, String from sqlalchemy import create_engine engine = create_engine('sqlite:///sales.db', echo = True) from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Customers(Base): __tablename__ = 'customers' id = Column(Integer, primary_key=True) name = Column(String) address = Column(String) email = Column(String) from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind = engine) session = Session() c1 = Customers(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]') session.add(c1) session.commit()
要添加多条记录,我们可以使用会话类的 add_all() 方法。
session.add_all([ Customers(name = 'Komal Pande', address = 'Koti, Hyderabad', email = '[email protected]'), Customers(name = 'Rajender Nath', address = 'Sector 40, Gurgaon', email = '[email protected]'), Customers(name = 'S.M.Krishna', address = 'Budhwar Peth, Pune', email = '[email protected]')] ) session.commit()
SQLiteStudio 的表视图显示记录已永久添加到 customers 表中。下图显示了结果 −
广告