Atualizar registros em banco MySQL com script em Python

Atualizar registros em banco MySQL com script em Python

Neste tutorial damos sequência à nossa série sobre acesso a bancos de dados MySQL usando scripts em Python. Desta vez, trago um script que permite realizar a atualização de registros em uma tabela do banco, por meio do emprego da cláusula SQL UPDATE. Vamos atualizar o preço de um produto selecionado na tabela de produtos, usada nos exemplos de lições anteriores.

No programa, cujo código é mostrado a seguir, vamos criar funções para definir três operações a serem realizadas:

  1. Conexão ao banco de dados: função conectar()
  2. Consulta ao produto cujo preço se deseja alterar: função consulta()
  3. Atualização do preço do produto com valor informado pelo usuário: função atualiza().

A função consulta() recebe como argumento o ID do produto cujo preço será alterado, sendo executada tanto antes da alteração quanto depois, para verificar se a atualização do registro ocorreu da forma esperada.

A função atualiza() recebe como argumento a declaração SQL que será executada no banco de dados, usando UPDATE.

A seguir temos o código completo do script para você testar e alterar à vontade:

Código

import mysql.connector
from mysql.connector import Error

# Script para atualização de registros em um banco de dados MySQL

def conectar():
    try:
        global con
        con = mysql.connector.connect(host='localhost',database='db_MeusLivros',user='root',password='abc123**')
    except Error as erro:
        print("Erro de Conexão")

def atualiza(declaracao):
    try:
        conectar()
        altera_preco = declaracao
        cursor = con.cursor()
        cursor.execute(altera_preco)
        con.commit()
        print("Preço alterado com sucesso!")
        cursor.close()
    except Error as erro:
        print("Falha ao inserir dados no MySQL: {}".format(erro))
    finally:
        if (con.is_connected()):
            cursor.close()
            con.close()

def consulta(idProd):
    try:
        conectar()
        consulta_sql = 'select * from tbl_produtos WHERE IdProduto = ' + idProd
        cursor = con.cursor()
        cursor.execute(consulta_sql)
        linhas = cursor.fetchall()
        for linha in linhas:
            print("Id:", linha[0])
            print("Produto:", linha[1])
            print("Preço:", linha[2])
    except Error as erro:
        print("Falha ao consultar tabela: {}".format(erro))
    finally:
        if (con.is_connected()):
            cursor.close()
            con.close()
    
# Programa principal
if __name__=='__main__':
    
    print("Rotina para atualização de preços produtos no banco de dados")
    print("Entre com os dados conforme solicitado:")
    print("\nDigite o codigo do produto a alterar:")
    idProd = input("Id do Produto: ")
    consulta(idProd)
    print("\nEntre com o novo preço do produto:")
    precoProd = input("Preço: ")
    declaracao = """UPDATE tbl_produtos
    SET Preco = """ + precoProd + """
    WHERE IdProduto = """ + idProd
    atualiza(declaracao)
    
    verifica = input("\nDeseja consultar a atualização? s = Sim, n = Não\n")
    if (verifica == 's'):
        consulta(idProd)
    else:
        print("\nAté mais!")

Ao executar o programa será solicitado o ID do produto cujo preço se deseja alterar. Ao informar um ID, serão mostrados os dados armazenados do produto, incluindo seu preço atual. Na sequência, o usuário deve informar o novo preço, que irá atualizar o registro na tabela de produtos.

Logo após a alteração, é perguntado ao usuário se ele quer conferir a alteração, ou se simplesmente deseja encerrar o programa.

Resultado

Veja a saída do programa ao ser executado, com o produto de ID igual a 4 tendo seu preço alterado:

Atualizar registros SQL com python e cláusula UPDATE

No exemplo, o produto Teclado, que custava R$ 60,00, teve seu preço reajustado para R$ 65,00.

É isso aí! Na próxima lição vamos realizar a exclusão de registros da tabela usando um script em Python e a declaração SQL DELETE FROM.
Até!

Sobre Fábio dos Reis (1192 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*