Alisson Machado
01 August 2019

Python e MySQL

Recentemente ministrei um treinamento aqui no meu trabalho, onde falávamos da interação de Python os bancos de dados mais comuns, sendo eles MySQL, PostgreSQL, SQLServer e MongoDB. Então resolvi fazer esse post para ficar como guia rápido de consulta de como podemos conectar o

Python ao MySQL e executar algumas querys. Instale o módulo do mysql-connector

$ python3 -m pip install mysql-connector-python --user

Feito isso vamos para o o script.

import mysql.connector

connection = mysql.connector.connect(host='IP_OU_HOSTNAME',
                             database='curso',
                             user='root',
                             password='alisson',
                             port=3306)   

A conexão com o banco de dados é feita utilizando o módulo

mysql-connector, nele temos o método connect, que recebe como argumentos, o host em que está o banco de dados, o nome do banco, o usuário e a senha.


Com a conexão feita com sucesso, na sequencia temos que criar o cursos, pois ele será o responsável por executar os comandos SQL dentro da base de dados.


cursor = connection.cursor()

# Agora podemos executar uma query:

cursor.execute("select * from alisson;")
for r in cursor.fetchall():
    print(r)  


Note que o cursor.execute("") recebeu a string SQL que foi executada, mas ele não tem um return, então para pegarmos os resultados, é necessário fazer um fetchall() que irá retornar todas as linhas resultantes da busca, caso você queira o primeiro resultado somente, pode se usar o fetchone().


Para operações de escrita, temos que usar o commit(), senão os dados ficarão em memória e não serão persistidos no banco.

cursor.execute("insert into alisson(nome,descricao) values('srv1','srv de teste')")
connection.commit()


Note que o commit(), é um método do objeto connection e não do cursor, esse commit() é uma caraterística das transactions que temos dentro do SQL, que nos permite simular as operações e só executa-las se tudo tiver ocorrido com sucesso, caso contrário, pode ser executado um rollback(). Resumidamente esse é o guia inicial para quem precisa executar alguma coisa dentro de uma base

MySQL utilizando o Python

.