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 leer je hoe je records bijwerkt in een database met SQLAlchemy. Het bijwerken van records is essentieel bij het aanpassen van bestaande gegevens in je 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 één record. Hiervoor moet je 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 te halen via zijn ID, gebruik je een query met een filter om het gewenste ID te specificeren. Na het bijwerken van de description van het product, zorgt het aanroepen van session.commit() ervoor dat de wijzigingen worden opgeslagen 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, gebruik je 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 efficiënt de description bij voor alle producten met een prijs onder de $500 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 uit de database ophalen.
  2. De nieuwe prijs voor elk product berekenen 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` argument do in the `update()` method?

Are there any risks or things to watch out for when performing bulk updates?

close

Awesome!

Completion rate improved to 4.76

bookBijwerken naar DB

Veeg om het menu te tonen

In dit hoofdstuk leer je hoe je records bijwerkt in een database met SQLAlchemy. Het bijwerken van records is essentieel bij het aanpassen van bestaande gegevens in je 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 één record. Hiervoor moet je 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 te halen via zijn ID, gebruik je een query met een filter om het gewenste ID te specificeren. Na het bijwerken van de description van het product, zorgt het aanroepen van session.commit() ervoor dat de wijzigingen worden opgeslagen 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, gebruik je 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 efficiënt de description bij voor alle producten met een prijs onder de $500 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 uit de database ophalen.
  2. De nieuwe prijs voor elk product berekenen 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