Päivittäminen Tietokantaan
Tässä luvussa opitaan, kuinka päivitetään tietueita tietokannassa käyttäen SQLAlchemyä. Tietueiden päivittäminen on olennaista, kun halutaan muokata olemassa olevia tietoja tauluissa, kuten esimerkiksi kuvauksia tai muita kenttiä. SQLAlchemy tarjoaa tehokkaat ja yksinkertaiset menetelmät päivitysten suorittamiseen.
Yksittäisen tietueen päivittäminen
Yleisin päivitystoimenpide on yksittäisen tietueen muokkaaminen. Tämä tehdään hakemalla olio, päivittämällä sen attribuutit ja tallentamalla muutokset.
product = session.query(Product).filter(Product.id == 1).first()
if product:
product.description = "Updated description for high-end gaming laptop"
session.commit()
Tuotteen hakemiseen ID:n perusteella käytetään kyselyä, jossa suodatetaan haluttu ID. Kun tuotteen description
-kenttä on päivitetty, kutsumalla session.commit()
tallennetaan muutokset tietokantaan.
Usean tietueen päivittäminen
Joskus on tarpeen päivittää useita tietueita kerralla. SQLAlchemy mahdollistaa tämän käyttämällä filter()
-metodia yhdessä update()
-metodin kanssa, jolloin tietueiden muokkaaminen on tehokasta.
session.query(Product).filter(Product.price > 1000).update(
{Product.description: "Updated description for premium products"},
synchronize_session="fetch"
)
session.commit()
Tuotteiden suodattamiseen, joiden hinta on yli $1000, käytetään kyselyä, jossa on ehto hinnasta. update
-metodi tekee halutut muutokset kaikkiin ehtoihin sopiviin tietueisiin, ja synchronize_session="fetch"
-argumentti varmistaa, että istunto pysyy synkronoituna päivityksen jälkeen.
Massapäivitykset
Laajamittaisiin muutoksiin massapäivitykset ovat tehokkaampia, sillä ne muokkaavat tietokannan tietueita suoraan lataamatta olioita muistiin. Tämä tekee niistä ihanteellisia, kun halutaan päivittää useita rivejä kerralla.
session.query(Product).filter(Product.price < 500).update(
{Product.description: "Generic description for affordable products"},
synchronize_session="fetch"
)
session.commit()
Tämä koodi päivittää tehokkaasti description-kentän kaikille tuotteille, joiden hinta on alle $500, yhdellä operaatiolla. Massapäivitykset ovat nopeampia ja säästävät muistia verrattuna yksittäisten tietueiden päivittämiseen.
Swipe to start coding
- Hae kaikki tuotteet tietokannasta.
- Laske uusi hinta jokaiselle tuotteelle vähentämällä sitä 20 %.
- Tallenna päivitetyt hinnat tietokantaan.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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?
Awesome!
Completion rate improved to 4.76
Päivittäminen Tietokantaan
Pyyhkäise näyttääksesi valikon
Tässä luvussa opitaan, kuinka päivitetään tietueita tietokannassa käyttäen SQLAlchemyä. Tietueiden päivittäminen on olennaista, kun halutaan muokata olemassa olevia tietoja tauluissa, kuten esimerkiksi kuvauksia tai muita kenttiä. SQLAlchemy tarjoaa tehokkaat ja yksinkertaiset menetelmät päivitysten suorittamiseen.
Yksittäisen tietueen päivittäminen
Yleisin päivitystoimenpide on yksittäisen tietueen muokkaaminen. Tämä tehdään hakemalla olio, päivittämällä sen attribuutit ja tallentamalla muutokset.
product = session.query(Product).filter(Product.id == 1).first()
if product:
product.description = "Updated description for high-end gaming laptop"
session.commit()
Tuotteen hakemiseen ID:n perusteella käytetään kyselyä, jossa suodatetaan haluttu ID. Kun tuotteen description
-kenttä on päivitetty, kutsumalla session.commit()
tallennetaan muutokset tietokantaan.
Usean tietueen päivittäminen
Joskus on tarpeen päivittää useita tietueita kerralla. SQLAlchemy mahdollistaa tämän käyttämällä filter()
-metodia yhdessä update()
-metodin kanssa, jolloin tietueiden muokkaaminen on tehokasta.
session.query(Product).filter(Product.price > 1000).update(
{Product.description: "Updated description for premium products"},
synchronize_session="fetch"
)
session.commit()
Tuotteiden suodattamiseen, joiden hinta on yli $1000, käytetään kyselyä, jossa on ehto hinnasta. update
-metodi tekee halutut muutokset kaikkiin ehtoihin sopiviin tietueisiin, ja synchronize_session="fetch"
-argumentti varmistaa, että istunto pysyy synkronoituna päivityksen jälkeen.
Massapäivitykset
Laajamittaisiin muutoksiin massapäivitykset ovat tehokkaampia, sillä ne muokkaavat tietokannan tietueita suoraan lataamatta olioita muistiin. Tämä tekee niistä ihanteellisia, kun halutaan päivittää useita rivejä kerralla.
session.query(Product).filter(Product.price < 500).update(
{Product.description: "Generic description for affordable products"},
synchronize_session="fetch"
)
session.commit()
Tämä koodi päivittää tehokkaasti description-kentän kaikille tuotteille, joiden hinta on alle $500, yhdellä operaatiolla. Massapäivitykset ovat nopeampia ja säästävät muistia verrattuna yksittäisten tietueiden päivittämiseen.
Swipe to start coding
- Hae kaikki tuotteet tietokannasta.
- Laske uusi hinta jokaiselle tuotteelle vähentämällä sitä 20 %.
- Tallenna päivitetyt hinnat tietokantaan.
Ratkaisu
Kiitos palautteestasi!
single