Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Bijwerken naar DB | SQLAlchemy
Databases in Python

bookBijwerken naar DB

In dit hoofdstuk leren we hoe we records bijwerken in een database met SQLAlchemy. Het bijwerken van records is essentieel bij het aanpassen van bestaande gegevens in uw tabellen, zoals het wijzigen van beschrijvingen of andere velden. SQLAlchemy biedt efficiënte en eenvoudige methoden voor het uitvoeren van updates.

Een enkel record bijwerken

De meest voorkomende updatebewerking is het aanpassen van een enkel record. Hiervoor moet u het object ophalen, de attributen bijwerken en vervolgens de wijzigingen opslaan.

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

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

Om een product op ID op te halen, gebruikt u een query met een filter om het gewenste ID te specificeren. Na het bijwerken van de description van het product, slaat session.commit() de wijzigingen op in de database.

Meerdere records bijwerken

Soms is het nodig om meerdere records tegelijk bij te werken. SQLAlchemy maakt het mogelijk om filter() te gebruiken met de update()-methode om records efficiënt aan te passen.

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

Om producten te filteren met een prijs boven de $1000, gebruikt u een query met een voorwaarde op de prijs. De update-methode past de gewenste wijzigingen toe op alle overeenkomende records, terwijl het argument synchronize_session="fetch" ervoor zorgt dat de sessie gesynchroniseerd blijft na de update.

Bulk-updates

Voor grootschalige wijzigingen zijn bulk-updates efficiënter omdat ze database-records direct aanpassen zonder objecten in het geheugen te laden. Dit maakt ze ideaal voor het bijwerken van veel rijen tegelijk.

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

Deze code werkt de description voor alle producten met een prijs onder de $500 efficiënt bij in één enkele bewerking. Bulk-updates zijn sneller en besparen geheugen in vergelijking met het individueel bijwerken van records.

Taak

Swipe to start coding

  1. Alle producten ophalen uit de database.
  2. De nieuwe prijs berekenen voor elk product door deze met 20% te verlagen.
  3. De bijgewerkte prijzen opslaan in de database.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 7
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain the difference between updating a single record and a bulk update in SQLAlchemy?

What does the `synchronize_session` parameter do in the `update()` method?

Are there any risks or caveats when performing bulk updates with SQLAlchemy?

close

Awesome!

Completion rate improved to 4.76

bookBijwerken naar DB

Veeg om het menu te tonen

In dit hoofdstuk leren we hoe we records bijwerken in een database met SQLAlchemy. Het bijwerken van records is essentieel bij het aanpassen van bestaande gegevens in uw tabellen, zoals het wijzigen van beschrijvingen of andere velden. SQLAlchemy biedt efficiënte en eenvoudige methoden voor het uitvoeren van updates.

Een enkel record bijwerken

De meest voorkomende updatebewerking is het aanpassen van een enkel record. Hiervoor moet u het object ophalen, de attributen bijwerken en vervolgens de wijzigingen opslaan.

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

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

Om een product op ID op te halen, gebruikt u een query met een filter om het gewenste ID te specificeren. Na het bijwerken van de description van het product, slaat session.commit() de wijzigingen op in de database.

Meerdere records bijwerken

Soms is het nodig om meerdere records tegelijk bij te werken. SQLAlchemy maakt het mogelijk om filter() te gebruiken met de update()-methode om records efficiënt aan te passen.

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

Om producten te filteren met een prijs boven de $1000, gebruikt u een query met een voorwaarde op de prijs. De update-methode past de gewenste wijzigingen toe op alle overeenkomende records, terwijl het argument synchronize_session="fetch" ervoor zorgt dat de sessie gesynchroniseerd blijft na de update.

Bulk-updates

Voor grootschalige wijzigingen zijn bulk-updates efficiënter omdat ze database-records direct aanpassen zonder objecten in het geheugen te laden. Dit maakt ze ideaal voor het bijwerken van veel rijen tegelijk.

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

Deze code werkt de description voor alle producten met een prijs onder de $500 efficiënt bij in één enkele bewerking. Bulk-updates zijn sneller en besparen geheugen in vergelijking met het individueel bijwerken van records.

Taak

Swipe to start coding

  1. Alle producten ophalen uit de database.
  2. De nieuwe prijs berekenen voor elk product door deze met 20% te verlagen.
  3. De bijgewerkte prijzen opslaan in de database.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 7
single

single

some-alt