Trimiterea cererilor către baza de date în Python
După conectarea la baza de date, i se pot
trimite cereri. Acest lucru se face cu ajutorul
variabilei query, în care
este scrisă interogarea SQL pentru afișarea tuturor
datelor din tabela users. Această
variabilă trebuie scrisă în blocul cu
variabila connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
În continuare, scriem încă o construcție with
pentru lucrul cu obiectul MySQLConnection,
stocat în variabila connection.
La acest obiect trebuie aplicate secvențial
metode speciale. Prima dintre ele este metoda
cursor, care
din obiectul MySQLConnection creează un
obiect CMySQLCursor. La acesta, la rândul său,
se aplică metoda execute, care
asigură executarea interogării SQL,
transmise ca parametru:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
În continuare, trebuie să extragem toate datele cu ajutorul
metodei fetchall și să le scriem în
variabila result. Iar pentru a afișa
datele obținute, trebuie să le parcurgem
cu un ciclu 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)
Codul complet va arăta astfel:
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)
După executarea codului, în consolă vor fi afișate toate înregistrările sub formă de tuple:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Afișați toate datele din tabela users.