Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tietokannasta Lukeminen | SQLAlchemy
Tietokannat Pythonissa

bookTietokannasta 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.

Tehtävä

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

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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()`?

close

Awesome!

Completion rate improved to 4.76

bookTietokannasta 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.

Tehtävä

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

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
single

single

some-alt