Enviando consultas ao banco de dados em Python

Após conectar ao banco de dados, você pode enviar consultas a ele. Isso é feito usando a variável query, na qual a consulta SQL para selecionar todos os dados da tabela users é escrita. Esta variável deve ser escrita dentro do bloco com a variável connection:

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

Em seguida, escrevemos outra construção with para trabalhar com o objeto MySQLConnection, armazenado na variável connection. A este objeto, precisamos aplicar sequencialmente métodos específicos. O primeiro deles é o método cursor, que a partir do objeto MySQLConnection cria um objeto CMySQLCursor. A este, por sua vez, é aplicado o método execute, que executa a consulta SQL, passada para ele como parâmetro:

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

Em seguida, é necessário extrair todos os dados usando o método fetchall e gravá-los em uma variável result. E para exibir os dados obtidos, precisamos passá-los por um loop 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)

O código completo ficará assim:

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)

Após a execução do código, todos os registros serão exibidos no console como tuplas:

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

Exiba todos os dados da tabela users.