Python consultando MySQL
- #Python
Se você estiver trabalhando com um banco de dados MySQL em Python, as instruções relevantes geralmente incluirão a utilização da biblioteca mysql-connector-python ou outra similar. Algumas instruções comumente usadas para interagir com um banco de dados MySQL são:
import mysql.connector (para importar a biblioteca necessária)
try e except (para tratamento de exceções durante operações no banco de dados)
open (pode ser usado para abrir uma conexão com o banco de dados)
Na prática, considere que temos um banco de dados que gerencia um estacionamento, e desejamos saber qua valor será cobrado do veículo cuja placa é SHQ-0605. A cobrança é calculada da seguinte forma: 2 reais iniciais. a partir de 1 real por cada meia hora. Considere que a hora de entrada do veículo foi 10h05 e a saída foi as 15h33. O nome do host é "comunismo", o usuário é "marx", a senha é "pobrecomunista", e a base de dados é "cad_veiculo"
Nesse exemplo, um script básico de conexão e execução de consulta em um banco de dados MySQL pode parecer com isso:
import mysql.connector
from datetime import datetime, timedelta
# Configurações do banco de dados
configuracoes_banco = {
'host': 'comunismo',
'user': 'marx',
'password': 'pobrecomunista',
'database': 'cad_veiculo'
}
# Placa do veículo
placa_veiculo = 'SHQ-0605'
try:
# Conectar ao banco de dados
conexao = mysql.connector.connect(**configuracoes_banco)
# Criar um cursor para executar consultas
cursor = conexao.cursor()
try:
# Executar uma consulta para obter informações do veículo
consulta = f"SELECT hora_entrada, hora_saida FROM tabela_veiculos WHERE placa = '{placa_veiculo}'"
cursor.execute(consulta)
# Verificar se o veículo existe no banco de dados
veiculo = cursor.fetchone()
if veiculo:
# Recuperar as horas de entrada e saída do resultado da consulta
hora_entrada, hora_saida = veiculo
# Calcular o tempo de estacionamento em horas
tempo_estacionado = hora_saida - hora_entrada
tempo_em_horas = tempo_estacionado.total_seconds() / 3600
# Calcular o valor a ser cobrado
valor_inicial = 2.0
valor_por_hora = 1.0
valor_a_pagar = valor_inicial + max(0, tempo_em_horas - 0.5) * valor_por_hora
print(f"Informações do veículo com a placa {placa_veiculo}:")
print(f"Hora de entrada: {hora_entrada}")
print(f"Hora de saída: {hora_saida}")
print(f"Valor a ser cobrado: R${valor_a_pagar:.2f}")
else:
print(f"Veículo com a placa {placa_veiculo} não encontrado no banco de dados.")
except Exception as e:
print(f"Erro ao executar consulta: {e}")
finally:
# Fechar o cursor e a conexão
cursor.close()
conexao.close()
Além das documentações oficiais, podem ser úteis:
Tutoriais Online:
DIO.me:
https://web.dio.me/play?search=mysql
https://web.dio.me/track/formacao-python-developer
Livros:
"Python Crash Course" de Eric Matthes.
"Learning MySQL" de Seyed M.M. (Saied) Tahaghoghi e Hugh E. Williams.