Tietojen hakeminen tietokannasta on keskeinen osa Pythonin käyttöä ohjelmistokehityksessä. Tänään keskitymme SELECT-lauseeseen, joka mahdollistaa tietojen tehokkaan hakemisen MySQL-tietokannasta. Tässä oppaassa opit, miten voit lukea tietueen 'books'-taulusta yksinkertaisella SELECT-lauseella.
Tärkeimmät havainnot
Opit, kuinka voit hakea tietoja menetelmällä, joka käyttää kursori-objekteja ja kuinka tärkeää on sulkea yhteys tietokantaan.
Askeltainen opas
Voit lukea kaikki tietueet MySQL-tietokannasta luomalla getbooks-menetelmän. Tämän prosessin aikana kohtaat kursoreita ja suoritat SELECT-lauseen.
Ensinnäkin sinun on varmistettava, että sinulla on jo yhteysobjekti, joka pitää yhteyden tietokantaan. Tämä tapahtuu käyttämällä self.connectionia, joka on määritelty luokassasi.

Tämän jälkeen tarvitset kursoria SQL-lauseiden suorittamiseen. Kutsumalla self.connection.cursor() saat tämän kursori-objektin.

Kursorilla voit suorittaa SELECT-lauseesi. Kirjoita cursor.execute('SELECT * FROM books') ja tämä lause lähetetään tietokannalle. Tässä tähkä (*) tarkoittaa kaikkia sarakkeita 'books'-taulussa.

Kun lause on suoritettu, sinun täytyy hakea tulokset. Tämä tapahtuu käyttämällä cursor.fetchall(), joka palauttaa kaikki tietueet.

Nyt voit palauttaa haetun tietueen kirjoittamalla return cursor.fetchall().
On kuitenkin tärkeää sulkea kursori ja yhteys kyselyn jälkeen resursseja vapauttaaksesi. Tämä tapahtuu kutsumalla cursor.close() ja self.connection.close(). Molemmat tulisi kutsua menetelmän lopussa.

Voit tulostaa tiedot kutsumalla getbooks-menetelmää ja käymällä tulokset läpi silmukassa. Esimerkiksi voit käyttää for book in getbooks(): print(book) näytettääksesi kaikki kirjat näytöllä.

Tietueet palautetaan tupleina. Tämä on yleinen käytäntö Pythonissa, joka on helppo muuntaa listoiksi tarvittaessa. Voit myös käyttää suoraan tuplejen indeksejä tietyille sarakkeille tai käsitellä niitä edelleen.

Kun olet ymmärtänyt periaatteen suurin piirtein, voit laajentaa sovellustasi myös uusien tietueiden lisäämiseksi INSERT-lauseilla, mikä käsitellään seuraavassa oppaassa.
Yhteenveto – Tietojen lukeminen MySQL:stä Pythonilla – askel askeleelta
Tässä oppaassa olet oppinut, kuinka kirjoittaa tehokkaita SQL-lauseita Pythonissa, hakea tietoja kursoreiden avulla ja lisäksi, kuinka sulkea yhteys tietokantaan kunnolla. Nämä vaiheet ovat perusta monille muille sovelluksille ja mukautuksille.
Usein kysytyt kysymykset
Kuinka haen tietoja tietokannasta?Voit hakea tietoja suorittamalla SELECT-lauseen menetelmässäsi ja tämän jälkeen hakemalla tulokset cursor.fetchall():lla.
Miksi yhteyden sulkeminen tietokantaan on tärkeää?Yhteyden sulkeminen estää resurssien tarpeettoman varauksen ja auttaa välttämään tietojen menetystä tai ongelmia tietokannan kanssa.
Voinko kysyä vain tiettyjä sarakkeita?Kyllä, sen sijaan että käytät SELECT *, voit myös ilmoittaa tietyt sarakkeet, esim. SELECT title, author FROM books.