- 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 = 'ravi@gmail.com') 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 = 'ravi@gmail.com')
session.add(c1)
session.commit()
要新增多條記錄,我們可以使用會話類的 add_all() 方法。
session.add_all([ Customers(name = 'Komal Pande', address = 'Koti, Hyderabad', email = 'komal@gmail.com'), Customers(name = 'Rajender Nath', address = 'Sector 40, Gurgaon', email = 'nath@gmail.com'), Customers(name = 'S.M.Krishna', address = 'Budhwar Peth, Pune', email = 'smk@gmail.com')] ) session.commit()
SQLiteStudio 的表檢視顯示記錄已永久新增到 customers 表中。下圖顯示了結果 −
廣告