Python e MySQL
01 de ago. de 2019
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
.