retirar caracteres especiais python

Python e MySQL: Insert, Update, Delete e Select – Tutorial Definitivo

Uma das maiores necessidades dos sistemas é o armazenamento de informações em um banco de dados. Sistemas confeccionados com a linguagem Python não é diferente.

Criamos esse post com o objetivo de oferecer um tutorial definitivo para você programador que necessita utilizar o banco de dados MySQL para armazenar informações.

Utilizaremos a biblioteca pymysql para trabalhar com o MySQL.

Criando o banco de dados

Como exemplo, iremos criar um banco de dados para gravar informações sobre carros em uma garagem.

Primeiramente, iremos criar um banco de dados:

CREATE DATABASE garagem;

Agora iremos criar uma tabela para cadastrar os carros:

CREATE TABLE carros (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
    placa VARCHAR(10) NOT NULL,
    nome_dono VARCHAR(20) NOT NULL
);

Pronto. Já temos um banco de dados com uma tabela pronta para receber os dados.

Inserindo dados

Vamos inserir um carro no banco de dados. Veja como fazemos:

# Importamos a biblioteca:
import pymysql

# Abrimos uma conexão com o banco de dados:
conexao = pymysql.connect(db='garagem', user='root', passwd='')

# Cria um cursor:
cursor = conexao.cursor()

# Executa o comando:
cursor.execute("INSERT INTO carros (placa, nome_dono) VALUES ('ABC-1234', 'Joao')")

# Efetua um commit no banco de dados.
# Por padrão, não é efetuado commit automaticamente. Você deve commitar para salvar
# suas alterações.
conexao.commit()

# Finaliza a conexão
conexao.close()

Veja como ficou no banco de dados:

Captura-de-tela-2018-08-13-21.32.15 Python e MySQL: Insert, Update, Delete e Select - Tutorial Definitivo
Veja que o carro foi cadastrado no banco de dados.

Atualizando dados

O dono do carro mudou. E agora? Atualizamos no banco de dados. Veja como ficou:

# Importamos a biblioteca:
import pymysql

# Abrimos uma conexão com o banco de dados:
conexao = pymysql.connect(db='garagem', user='root', passwd='')

# Cria um cursor:
cursor = conexao.cursor()

# Executa o comando:
cursor.execute("UPDATE carros SET nome_dono = 'Joaquim' WHERE placa = 'ABC-1234'")

# Efetua um commit no banco de dados.
# Por padrão, não é efetuado commit automaticamente. Você deve commitar para salvar
# suas alterações.
conexao.commit()

# Finaliza a conexão
conexao.close()

Veja a alteração no banco de dados:

Captura-de-tela-2018-08-13-21.34.58 Python e MySQL: Insert, Update, Delete e Select - Tutorial Definitivo
Veja que o dono do carro mudou.

Buscando dados

Aconteceu um acidente na garagem. O veículo de placa ABC-1234 bateu no fusqueti da dona Maria. Quem é o dono dele? É só fazer um select no banco de dados. Veja como fica o código:

# Importamos a biblioteca:
import pymysql

# Abrimos uma conexão com o banco de dados:
conexao = pymysql.connect(db='garagem', user='root', passwd='')

# Cria um cursor:
cursor = conexao.cursor()

# Executa o comando:
cursor.execute("SELECT nome_dono FROM carros WHERE placa = 'ABC-1234'")

# Recupera o resultado:
resultado = cursor.fetchall()

# Mostra o resultado:
print('Dono do carro: ')

for linha in resultado :
    print(linha)

# Finaliza a conexão
conexao.close()

Veja como ficou o console:

console Python e MySQL: Insert, Update, Delete e Select - Tutorial Definitivo
Veja o resultado da busca. Achamos o culpado. Que feio ein Sr. Joaquim!

Deletando dados

Com o acidente, vamos banir o Joaquim da garagem. Veja como fazemos:

# Importamos a biblioteca:
import pymysql

# Abrimos uma conexão com o banco de dados:
conexao = pymysql.connect(db='garagem', user='root', passwd='')

# Cria um cursor:
cursor = conexao.cursor()

# Executa o comando:
cursor.execute("DELETE FROM carros WHERE placa = 'ABC-1234'")

# Efetua um commit no banco de dados.
# Por padrão, não é efetuado commit automaticamente. Você deve commitar para salvar
# suas alterações.
conexao.commit()

# Finaliza a conexão
conexao.close()

Veja que o Sr. Joaquim não está mais na garagem e está parando o carro na rua:

Captura-de-tela-2018-08-13-21.46.23 Python e MySQL: Insert, Update, Delete e Select - Tutorial Definitivo
Apagamos o Sr. Joaquim da garagem

Tem alguma dúvida? Pergunte nos comentários! Será um prazer respondê-lo.

Victor Vaz Autor

Fundador do Cafeína Codificada, formado em Sistemas Web pela UNIBH e um apaixonado por música.

Comentários

    MARLISON

    (17 maio, 2019 - 3:13)

    Excelente explicação. Muito obrigado!!!

    Hérika Ströngreen

    (3 julho, 2019 - 17:42)

    Amei a explicação… Rindo e aprendendo

    Rodolfo

    (11 julho, 2019 - 20:24)

    Victor, muito boa suas explicações.
    Uma dúvida, se eu quiser pegar a tabela inteira que tenha mais de uma linha de registro e guardar em uma variavel, como manipulo essas informações ?
    Ex:
    tenho uma tabela pessoas_carros, onde tem o cadastro de todas os carros e seus respectivos donos, como pego isso do banco de dados e trago para uma variavel ?

    Digo isso pois queria transformar todo esse GET em uma json para enviar com uma API.

    Sim, to viajando em um projeto rs
    Abs e obrigado.

      Victor Vaz

      (12 novembro, 2019 - 16:16)

      Boa tarde! Tudo bom? Você pode capturar as informações e guardá-las dentro de um array. E você manipula as informações com esse Array.

    Tadeu

    (15 outubro, 2019 - 2:49)

    Não consigo executar o UPDATE. Faço tudo certinho mas o banco de dados não apresenta nenhuma modificação.

      Victor Vaz

      (12 novembro, 2019 - 16:15)

      Boa tarde Tadeu! Tudo bom? Poderia me responder com o seu comando de UPDATE? Posso olhar pra você o que pode estar acontecendo 🙂

    Vinicius

    (29 outubro, 2019 - 21:26)

    Muito boa a explicação, melhor que encontrei até agora !
    Eu gostaria de saber como que faria para ter esse retorno em json, pensando que iria conetar essa api a outro serviço.

    Filho de Wagner

    (8 novembro, 2019 - 0:23)

    Excelente explicação. Não estaca conseguindo conectar com o Mysql

    Edielson

    (15 janeiro, 2020 - 21:02)

    Excelente explicação, estava com dúvidas em relação a conexão com o mysql e a execução dos comandos dentro do Python, consegui realizar a conexão e realizar as consultas perfeitamente!
    Parabéns!!

      Victor Vaz

      (15 janeiro, 2020 - 21:06)

      Boa tarde Edielson, tudo bom? Que bom que deu tudo certo! Muito obrigado pelo seu comentário!

    Guilherme

    (16 abril, 2020 - 14:56)

    Comando “import pymsql” não funcionou nem no Pycharm nem entrando no prompt do python no DOS. Mensagem que aparece é: ModuleNotFoundError: No module named ‘pymysql’. Alguma sugestão? Obrigado

      Victor Vaz

      (26 junho, 2020 - 14:54)

      Bom dia! Beleza? Então, vc precisa instalar a biblioteca pymsql com o pip.

    Alexsandro

    (26 junho, 2020 - 2:27)

    Agradeço pela explicação, uma grande abraço.

    Álef

    (2 agosto, 2020 - 18:23)

    Mano, eu T-E A-M-O!

    Elrison Silva

    (12 agosto, 2020 - 13:36)

    Bom dia, como eu faria pra realizar o teste desse CRUD, realizando o unittest?

      Victor Vaz

      (28 setembro, 2020 - 13:49)

      Bom dia irmão, beleza? Cara, infelizmente não saberia te responder.

    Bruno Oliveira

    (1 julho, 2021 - 21:16)

    Gostei da maneira que foi explicado! Parabéns por compartilhar esse aprendizado de maneira divertida.

Deixe um comentário

O seu endereço de e-mail não será publicado.