В предыдущих главах SQLAlchemy ORM мы узнали, как объявлять сопоставления и создавать сеансы. В этой главе мы узнаем, как добавлять объекты в таблицу.
Мы объявили класс Customer, который был сопоставлен с таблицей клиентов. Мы должны объявить объект этого класса и постоянно добавлять его в таблицу методом add () объекта сеанса.
c1 = Sales(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]') session.add(c1)
Обратите внимание, что эта транзакция ожидает, пока она не будет сброшена с использованием метода commit ().
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 показывает, что записи постоянно добавляются в таблицу клиентов. Следующее изображение показывает результат —