Slanje upita bazi podataka u Pythonu
Nakon uspostavljanja veze sa bazom podataka, možemo
slati upite. To se radi pomoću
promenljive query, u kojoj
se navodi SQL upit za prikaz svih
podataka iz tabele users. Ova
promenljiva treba da se napiše u bloku sa
promenljivom connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Zatim navodimo još jednu konstrukciju with
za rad sa MySQLConnection-objektom,
koji je sačuvan u promenljivoj connection.
Na ovaj objekat treba uzastopno
primeniti specijalne metode. Prva od
njih je metoda cursor, koja
od MySQLConnection-objekta kreira
CMySQLCursor-objekat. Na njega se zatim
primenjuje metoda execute, koja
obezbeđuje izvršenje SQL upita,
prosledenog joj kao parametar:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Zatim je potrebno izvući sve podatke pomoću
metode fetchall i upisati ih u
promenljivu result. A da bismo prikazali
dobijene podatke, potrebno je da ih
prođemo kroz petlju 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)
Kompletan kod će izgledati ovako:
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)
Nakon izvršenja koda, u konzolu će se prikazati svi zapisi u vidu tuple-a:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Prikažite sve podatke iz tabele users.