Python-da Veri Bazasina Sorğu Göndərmək
Veri bazası ilə əlaqə qurulduqdan sonra ona
sorğular göndərmək olar. Bu, query dəyişəni ilə edilir,
hansı ki, users cədvəlindən bütün məlumatları çıxarmaq üçün
SQL sorğusunu təyin edir. Bu dəyişən
connection dəyişəni olan blokda təyin edilməlidir:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Daha sonra, connection dəyişənində saxlanılan
MySQLConnection-obyekti ilə işləmək üçün başqa bir
with konstruksiyası yazırıq.
Bu obyektə ardıcıl olaraq xüsusi metodlar tətbiq edilməlidir.
Onlardan birincisi cursor metodudur, hansı ki,
MySQLConnection-obyektindən CMySQLCursor-obyekti yaradır.
Öz növbəsində ona, parametr kimi ötürülən SQL sorğusunun
icrasını təmin edən execute metodu tətbiq edilir:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Daha sonra, bütün məlumatları fetchall metodu ilə
çıxarmaq və onları result dəyişəninə yazmaq lazımdır.
Əldə edilmiş məlumatları çıxarmaq üçün isə onları
for döngüsündən keçirmək lazımdır:
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)
Tam kod aşağıdakı kimi olacaq:
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)
Kod icra edildikdən sonra konsola bütün qeydlər korteclər şəklində çıxacaq:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
users cədvəlindən bütün məlumatları çıxarın.