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ässä luvussa keskitytään tietueiden hakemiseen tietokannasta SQLAlchemyn avulla. Opit noutamaan 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 tapahtuvaan tehokkaaseen hakuun käytetään get()-metodia. Esimerkiksi tuotteen hakeminen, jonka ID on 1:

product = session.query(Product).get(1)

Tulosten rajaaminen

Tietueiden määrän rajaamiseen 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 osajoukko.

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

close

Awesome!

Completion rate improved to 4.76

bookTietokannasta Lukeminen

Pyyhkäise näyttääksesi valikon

Tässä luvussa keskitytään tietueiden hakemiseen tietokannasta SQLAlchemyn avulla. Opit noutamaan 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 tapahtuvaan tehokkaaseen hakuun käytetään get()-metodia. Esimerkiksi tuotteen hakeminen, jonka ID on 1:

product = session.query(Product).get(1)

Tulosten rajaaminen

Tietueiden määrän rajaamiseen 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 osajoukko.

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