Andmete kättesaamine andmebaasist on Python rakendamise põhikoht tarkvaraarenduses. Täna keskendume SELECT-lausele, mis võimaldab sul tõhusalt andmeid MySQL andmebaasist välja tuua. Selles juhendis õpid, kuidas lihtsa SELECT-lausega lugeda andmeid 'books' tabelist.
Olulisemad järeldused
Sa õpid, kuidas kasutada meetodit andmete kätte saamiseks, kuidas kasutada kursori objekte ja kui oluline on andmebaasi ühenduse sulgemine.
Etapp-sammult juhend
Kõigi andmekogumite lugemiseks MySQL andmebaasist pead looma meetodi getbooks. Selle protsessi käigus puutud kokku kursori objektidega ja täidad SELECT-lause.
Esialgu pead veenduma, et sul on juba olemas ühenduse objekt, mis hoiab ühendust andmebaasiga. Selleks pääsed juurde self.connection, mis on defineeritud sinu klassis.

Seejärel vajad sul kursorit SQL-lause täitmiseks. self.connection.cursor() väljakutsumine annab sulle selle kursori objekti.

Kursori abil saad täita oma SELECT-lause. Kirjuta cursor.execute('SELECT * FROM books') ja seega saadetakse lause andmebaasi. Sümbol tärn (*) tähistab kõiki veerge 'books' tabelis.

Pärast lause täitmist pead andmed kätte saama. Seda teed cursor.fetchall() abil, mis tagastab kõik andmekogumid.

Nüüd saad tagastada kätte saadud andmed, kirjutades return cursor.fetchall().
Kuid oluline on sulgeda kursori ja ühenduse pärast päringut, et vabastada ressursid. See toimub cursor.close() ja self.connection.close() abil. Mõlemad peaksid olema sinu meetodi lõpus kutsutud.

Andmete väljatrükiks saad kutsuda meetodi getbooks ja läbida tagastuse tsükli kaudu. Näiteks saad kasutada for book in getbooks(): print(book), et kuvada kõik raamatud ekraanil.

Andmekogumid tagastatakse tupelina. See on Pythonis tavaline praktika, mida saab hõlpsasti teisendada loenditeks, kui see on vajalik. Sa saad ka spetsiifilistele veergudele otse juurde pääseda tuple indeksite kaudu või neid edasi töödelda.

Kui oled põhimõtte üldiselt mõistnud, saad oma rakendust laiendada, et lisada uusi andmekogumeid INSERT-lause kaudu, mis käsitleb järgmist õpetust.
Kokkuvõte – andmete lugemine MySQL-ist Pythoniga – samm-sammult
Selles juhendis oled õppinud, kuidas kirjutada tõhusaid SQL-lauseid Pythonis, kuidas kursorte abil andmeid kätte saada ja kuidas korralikult sulgeda ühendust andmebaasiga. Need sammed on aluseks paljudele teistele rakendustele ja kohandustele.
Korduma kippuvad küsimused
Kuidas saan andmeid andmebaasist kätte?Sa saad andmeid kätte, täites oma meetodis SELECT-lause ja seejärel tuues tulemused välja cursor.fetchall() abil.
Miks on oluline sulgeda andmebaasi ühendus?Ühenduse sulgemine takistab ressursside vajaduse puudumise tõttu kasutamist ja aitab vältida andmete kadumist või probleeme andmebaasiga.
Kas ma saan küsida ainult teatud veerge?Jah, SELECT * asemel võid sa ka spetsiifilised veerud näidata, näiteks SELECT title, author FROM books.