Päringute saatmine andmebaasi Pythonis
Pärast ühenduse loomist andmebaasiga saab sellele
saata päringuid. Seda tehakse muutuja query abil,
mis sisaldab SQL päringut kõigi andmete kuvamiseks
tabelist users. See
muutuja tuleks kirjutada plokki koos
muutujaga connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Järgmisena kirjutame veel ühe konstruktsiooni with
MySQLConnection-objektiga töötamiseks,
mis on salvestatud muutujasse connection.
Sellele objektile tuleb järjestikku
rakendada spetsiaalseid meetodeid. Esimene neist
on meetod cursor, mis
MySQLConnection-objektist loob
CMySQLCursor-objekti. Sellele omakorda
rakendatakse meetodit execute, mis
tagab SQL päringu täitmise,
mis talle parameetrina edastati:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Järgmisena tuleb kõik andmed hankida kasutades
meetodit fetchall ja salvestada need
muutujasse result. Ja saadud andmete kuvamiseks
tuleb need läbi lasta tsüklil for:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
result = cursor.fetchall()
for row in result:
print(row)
Täielik kood näeb välja selline:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
print(cursor)
cursor.execute(query)
result = cursor.fetchall()
for row in result:
print(row)
except Error as e:
print(e)
Pärast koodi täitmist kuvatakse konsoolis kõik kirjed korteežidena:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Kuva kõik andmed tabelist users.