SQLAlchemy ORM - Hinzufügen von Objekten

In den vorherigen Kapiteln von SQLAlchemy ORM haben wir gelernt, wie Mapping deklariert und Sitzungen erstellt werden. In diesem Kapitel erfahren Sie, wie Sie der Tabelle Objekte hinzufügen.

Wir haben die Kundenklasse deklariert, die der Kundentabelle zugeordnet wurde. Wir müssen ein Objekt dieser Klasse deklarieren und es mit der Methode add () des Sitzungsobjekts dauerhaft zur Tabelle hinzufügen.

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

Beachten Sie, dass diese Transaktion aussteht, bis dieselbe mit der Methode commit () gelöscht wird.

session.commit()

Im Folgenden finden Sie das vollständige Skript zum Hinzufügen eines Datensatzes zur Kundentabelle:

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

Um mehrere Datensätze hinzuzufügen, können wir verwenden add_all() Methode der Sitzungsklasse.

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

Die Tabellenansicht von SQLiteStudio zeigt, dass die Datensätze dauerhaft in der Kundentabelle hinzugefügt werden. Das folgende Bild zeigt das Ergebnis -