Python'da Veritabanına Sorgu Gönderme
Veritabanına bağlandıktan sonra ona
sorgular gönderilebilir. Bu, users
tablosundaki tüm verileri getirmek için
bir SQL sorgusunun yazıldığı query
değişkeni ile yapılır. Bu değişken
connection değişkeni bulunan blokta
yazılmalıdır:
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 değişkeninde
saklanan MySQLConnection nesnesi ile
çalışmak için başka bir with yapısı
yazıyoruz. Bu nesneye sırayla özel
metotlar uygulanmalıdır. Bunlardan ilki,
MySQLConnection nesnesinden bir
CMySQLCursor nesnesi oluşturan cursor
metodudur. Buna da sırayla, kendisine
parametre olarak iletilen SQL sorgusunun
çalıştırılmasını sağlayan execute
metodu uygulanır:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Daha sonra, fetchall metodu
kullanılarak tüm veriler alınmalı ve
result değişkenine yazılmalıdır.
Elde edilen verileri görüntülemek için
ise, bir for döngüsü ile
işlenmelidir:
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 şu şekilde görünecektir:
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 çalıştırıldıktan sonra konsolda tüm kayıtlar demetler halinde görüntülenecektir:
(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 tablosundaki tüm verileri görüntüleyin.