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:

pythontry:
  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:

pythontry:
  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:

pythontry:
  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:

pythontry:
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:

python(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Задание 1

users tablosundaki tüm verileri görüntüleyin.