Tietokannasta Lukeminen
Tämä luku keskittyy ainoastaan tietueiden hakemiseen tietokannasta SQLAlchemyn avulla. Opit hakemaan yksittäisiä tai useita tietueita tehokkaasti eri kyselymenetelmillä.
Yksittäisen tietueen hakeminen
Yksittäisen tietueen hakemiseen käytetään query()-metodia ja suodattimia. Esimerkiksi tuotteen hakeminen nimen perusteella:
product = session.query(Product).filter(Product.name == "Laptop").first()
Tässä .filter(Product.name == "Laptop") valitsee tuotteet, joiden nimi on "Laptop", ja .first() palauttaa ensimmäisen vastaavan tietueen tai None.
Useiden tietueiden hakeminen
Useiden tietueiden hakemiseen yhdistetään filter() ja .all(). Esimerkiksi kaikkien tuotteiden listaaminen:
products = session.query(Product).all()
Jos halutaan suodattaa tuotteita, esimerkiksi ne joiden hinta on yli 1000 dollaria, kyselyä muokataan näin:
expensive_products = session.query(Product).filter(Product.price > 1000).all()
get()-metodin käyttäminen pääavaimen hakuihin
Pääavaimen perusteella hakemiseen käytetään tehokkaasti get()-metodia. Esimerkiksi tuotteen hakeminen tunnuksella 1:
product = session.query(Product).get(1)
Tulosten rajaaminen
Tietueiden määrän rajoittamiseen käytetään .limit()-metodia. Esimerkiksi kolmen ensimmäisen tuotteen hakeminen:
limited_products = session.query(Product).limit(3).all()
Näiden tekniikoiden hallitsemalla voit hakea tarvitsemasi tiedot tehokkaasti, olipa kyseessä yksittäinen tietue, useita suodatettuja tuloksia tai rajattu otos.
Swipe to start coding
Täydennä annettu koodi hakeaksesi kaikki tietueet tietokannan products-taulusta. Käytä session-oliota, Product-mallia ja sopivaa menetelmää kaikkien rivien hakemiseen.
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 `.first()` and `.all()` in SQLAlchemy queries?
How do I use filters with more complex conditions in SQLAlchemy?
What happens if no record is found when using `.first()` or `.get()`?
Awesome!
Completion rate improved to 4.76
Tietokannasta Lukeminen
Pyyhkäise näyttääksesi valikon
Tämä luku keskittyy ainoastaan tietueiden hakemiseen tietokannasta SQLAlchemyn avulla. Opit hakemaan yksittäisiä tai useita tietueita tehokkaasti eri kyselymenetelmillä.
Yksittäisen tietueen hakeminen
Yksittäisen tietueen hakemiseen käytetään query()-metodia ja suodattimia. Esimerkiksi tuotteen hakeminen nimen perusteella:
product = session.query(Product).filter(Product.name == "Laptop").first()
Tässä .filter(Product.name == "Laptop") valitsee tuotteet, joiden nimi on "Laptop", ja .first() palauttaa ensimmäisen vastaavan tietueen tai None.
Useiden tietueiden hakeminen
Useiden tietueiden hakemiseen yhdistetään filter() ja .all(). Esimerkiksi kaikkien tuotteiden listaaminen:
products = session.query(Product).all()
Jos halutaan suodattaa tuotteita, esimerkiksi ne joiden hinta on yli 1000 dollaria, kyselyä muokataan näin:
expensive_products = session.query(Product).filter(Product.price > 1000).all()
get()-metodin käyttäminen pääavaimen hakuihin
Pääavaimen perusteella hakemiseen käytetään tehokkaasti get()-metodia. Esimerkiksi tuotteen hakeminen tunnuksella 1:
product = session.query(Product).get(1)
Tulosten rajaaminen
Tietueiden määrän rajoittamiseen käytetään .limit()-metodia. Esimerkiksi kolmen ensimmäisen tuotteen hakeminen:
limited_products = session.query(Product).limit(3).all()
Näiden tekniikoiden hallitsemalla voit hakea tarvitsemasi tiedot tehokkaasti, olipa kyseessä yksittäinen tietue, useita suodatettuja tuloksia tai rajattu otos.
Swipe to start coding
Täydennä annettu koodi hakeaksesi kaikki tietueet tietokannan products-taulusta. Käytä session-oliota, Product-mallia ja sopivaa menetelmää kaikkien rivien hakemiseen.
Ratkaisu
Kiitos palautteestasi!
single