Изпращане на заявки към базата данни в Python

След свързване с базата данни, към нея могат да се изпращат заявки. Това става с помощта на променливата query, в която се записва SQL заявка за извеждане на всички данни от таблицата users. Тази променлива трябва да се напише в блока с променливата connection:

pythontry:
  with connect(
      host='localhost',
      user='root',
      password='',
      database='test',
  ) as connection:
    query = "SELECT * FROM users"
    
  except Error as e:
  print(e)

След това пишем още една конструкция with за работа с MySQLConnection-обекта, запазен в променливата connection. Към този обект трябва последователно да се прилагат специални методи. Първият от тях е методът cursor, който от MySQLConnection-обекта създава CMySQLCursor-обект. Към него на свой ред се прилага методът execute, който осигурява изпълнението на SQL заявката, подадена му като параметър:

pythontry:
  with connect(
    ...
  ) as connection:
    query = "SELECT * FROM users"
    with connection.cursor() as cursor:
      cursor.execute(query)

След това трябва да се извлекат всички данни с помощта на метода fetchall и да се запишат в променливата result. А за да се изведат получените данни, те трябва да се преминат през цикъл for:

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)

Пълният код ще изглежда така:

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)

След изпълнение на кода в конзолата ще се изведат всички записи под формата на кортежи:

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.