SQLAlchemy ORM - การเพิ่มวัตถุ
ในบทก่อนหน้าของ SQLAlchemy ORM เราได้เรียนรู้วิธีการประกาศการแมปและสร้างเซสชัน ในบทนี้เราจะเรียนรู้วิธีการเพิ่มวัตถุลงในตาราง
เราได้ประกาศคลาสลูกค้าที่แมปกับตารางลูกค้าแล้ว เราต้องประกาศออบเจ็กต์ของคลาสนี้และเพิ่มลงในตารางอย่างต่อเนื่องโดยวิธีการ add () ของวัตถุเซสชัน
c1 = Sales(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]')
session.add(c1)
โปรดทราบว่าธุรกรรมนี้กำลังรอดำเนินการจนกว่าจะมีการล้างข้อมูลโดยใช้วิธีการกระทำ ()
session.commit()
ต่อไปนี้เป็นสคริปต์ที่สมบูรณ์เพื่อเพิ่มบันทึกในตารางลูกค้า -
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 แสดงว่ามีการเพิ่มระเบียนอย่างต่อเนื่องในตารางลูกค้า ภาพต่อไปนี้แสดงผลลัพธ์ -