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:
try:
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:
try:
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:
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)
O código completo ficará assim:
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)
Após a execução do código, todos os registros serão exibidos no console como tuplas:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Exiba todos os dados da tabela users.