Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Aktualisierung in die DB | SQLAlchemy
Datenbanken in Python

bookAktualisierung in die DB

In diesem Kapitel wird erläutert, wie Datensätze aktualisiert werden können, indem SQLAlchemy verwendet wird. Das Aktualisieren von Datensätzen ist entscheidend, wenn bestehende Daten in Tabellen geändert werden müssen, beispielsweise bei der Anpassung von Beschreibungen oder anderen Feldern. SQLAlchemy stellt effiziente und unkomplizierte Methoden für Aktualisierungen bereit.

Aktualisierung eines einzelnen Datensatzes

Die häufigste Aktualisierungsoperation ist die Modifikation eines einzelnen Datensatzes. Hierfür muss das Objekt abgerufen, dessen Attribute geändert und anschließend die Änderungen gespeichert werden.

product = session.query(Product).filter(Product.id == 1).first()

if product:
    product.description = "Updated description for high-end gaming laptop"
    session.commit()

Um ein Produkt anhand seiner ID abzurufen, wird eine Abfrage mit einem Filter für die gewünschte ID verwendet. Nach der Änderung der description des Produkts speichert der Aufruf von session.commit() die Änderungen in der Datenbank.

Aktualisierung mehrerer Datensätze

Gelegentlich ist es erforderlich, mehrere Datensätze gleichzeitig zu aktualisieren. SQLAlchemy ermöglicht die Verwendung von filter() in Kombination mit der update()-Methode, um Datensätze effizient zu ändern.

session.query(Product).filter(Product.price > 1000).update(
    {Product.description: "Updated description for premium products"}, 
    synchronize_session="fetch"
)
session.commit()

Um Produkte mit einem Preis über $1000 zu filtern, wird eine Abfrage mit einer Bedingung für den Preis verwendet. Die update-Methode wendet die gewünschten Änderungen auf alle passenden Datensätze an, während das Argument synchronize_session="fetch" sicherstellt, dass die Sitzung nach der Aktualisierung synchronisiert bleibt.

Massenaktualisierungen

Für umfangreiche Änderungen sind Massenaktualisierungen effizienter, da sie Datensätze direkt in der Datenbank ändern, ohne Objekte in den Speicher zu laden. Dies ist ideal, um viele Zeilen gleichzeitig zu aktualisieren.

session.query(Product).filter(Product.price < 500).update(
    {Product.description: "Generic description for affordable products"}, 
    synchronize_session="fetch"
)
session.commit()

Dieser Code aktualisiert die description für alle Produkte mit einem Preis unter $500 in einem einzigen Vorgang. Massenaktualisierungen sind schneller und sparen Speicher, verglichen mit der individuellen Aktualisierung von Datensätzen.

Aufgabe

Swipe to start coding

  1. Alle Produkte abrufen aus der Datenbank.
  2. Den neuen Preis berechnen für jedes Produkt, indem er um 20 % reduziert wird.
  3. Die aktualisierten Preise in der Datenbank speichern.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

Awesome!

Completion rate improved to 4.76

bookAktualisierung in die DB

Swipe um das Menü anzuzeigen

In diesem Kapitel wird erläutert, wie Datensätze aktualisiert werden können, indem SQLAlchemy verwendet wird. Das Aktualisieren von Datensätzen ist entscheidend, wenn bestehende Daten in Tabellen geändert werden müssen, beispielsweise bei der Anpassung von Beschreibungen oder anderen Feldern. SQLAlchemy stellt effiziente und unkomplizierte Methoden für Aktualisierungen bereit.

Aktualisierung eines einzelnen Datensatzes

Die häufigste Aktualisierungsoperation ist die Modifikation eines einzelnen Datensatzes. Hierfür muss das Objekt abgerufen, dessen Attribute geändert und anschließend die Änderungen gespeichert werden.

product = session.query(Product).filter(Product.id == 1).first()

if product:
    product.description = "Updated description for high-end gaming laptop"
    session.commit()

Um ein Produkt anhand seiner ID abzurufen, wird eine Abfrage mit einem Filter für die gewünschte ID verwendet. Nach der Änderung der description des Produkts speichert der Aufruf von session.commit() die Änderungen in der Datenbank.

Aktualisierung mehrerer Datensätze

Gelegentlich ist es erforderlich, mehrere Datensätze gleichzeitig zu aktualisieren. SQLAlchemy ermöglicht die Verwendung von filter() in Kombination mit der update()-Methode, um Datensätze effizient zu ändern.

session.query(Product).filter(Product.price > 1000).update(
    {Product.description: "Updated description for premium products"}, 
    synchronize_session="fetch"
)
session.commit()

Um Produkte mit einem Preis über $1000 zu filtern, wird eine Abfrage mit einer Bedingung für den Preis verwendet. Die update-Methode wendet die gewünschten Änderungen auf alle passenden Datensätze an, während das Argument synchronize_session="fetch" sicherstellt, dass die Sitzung nach der Aktualisierung synchronisiert bleibt.

Massenaktualisierungen

Für umfangreiche Änderungen sind Massenaktualisierungen effizienter, da sie Datensätze direkt in der Datenbank ändern, ohne Objekte in den Speicher zu laden. Dies ist ideal, um viele Zeilen gleichzeitig zu aktualisieren.

session.query(Product).filter(Product.price < 500).update(
    {Product.description: "Generic description for affordable products"}, 
    synchronize_session="fetch"
)
session.commit()

Dieser Code aktualisiert die description für alle Produkte mit einem Preis unter $500 in einem einzigen Vorgang. Massenaktualisierungen sind schneller und sparen Speicher, verglichen mit der individuellen Aktualisierung von Datensätzen.

Aufgabe

Swipe to start coding

  1. Alle Produkte abrufen aus der Datenbank.
  2. Den neuen Preis berechnen für jedes Produkt, indem er um 20 % reduziert wird.
  3. Die aktualisierten Preise in der Datenbank speichern.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7
single

single

some-alt