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
.