SQLAlchemy ORM - Thêm đối tượng

Trong các chương trước của SQLAlchemy ORM, chúng ta đã học cách khai báo ánh xạ và tạo phiên. Trong chương này, chúng ta sẽ học cách thêm các đối tượng vào bảng.

Chúng tôi đã khai báo lớp Khách hàng đã được ánh xạ tới bảng khách hàng. Chúng ta phải khai báo một đối tượng của lớp này và liên tục thêm nó vào bảng bằng phương thức add () của đối tượng phiên.

c1 = Sales(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]')
session.add(c1)

Lưu ý rằng giao dịch này đang chờ xử lý cho đến khi giao dịch tương tự được xóa bằng phương thức commit ().

session.commit()

Sau đây là tập lệnh hoàn chỉnh để thêm bản ghi trong bảng khách hàng -

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()

Để thêm nhiều bản ghi, chúng ta có thể sử dụng add_all() phương thức của lớp phiên.

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()

Chế độ xem bảng của SQLiteStudio cho thấy rằng các bản ghi được thêm liên tục trong bảng khách hàng. Hình ảnh sau đây cho thấy kết quả: