MySQL com Python
Autora: Isabelle Coimbra
Atualizado por: Melk de Sousa
Está curioso para saber como fazer uma integração com o Python e MySQL? Então seja bem-vindo!
Como o título já entrega, irei demonstrar como introduzir MySQL na linguagem de programação Python ou vice-versa. Nesta postagem, irei abordar dois “conectores” do MySQL nas bibliotecas Python. A primeira é a mysql.connector e a segunda é pymysql. Com o mysql.connector, irei mostrar como estabelecer a conexão com o servidor, e com o pymysql irei fazer um exemplo de inserção na tabela.
Primeiramente, precisamos já ter instalado o MySQL, caso não possua, instale.
Em minhas experiências, eu gosto de trabalhar com a interface do MySQL Workbench e com a IDE Pycharm Community.
🧑🏻💻 Mão na massa
No ambiente MySQL…
Com as ferramentas postas à mesa, seguiremos para a criação de um database e uma tabela para servir de exemplo.
CREATE DATABASE codenglish;
USE codenglish;
CREATE TABLE people (
name VARCHAR(50),
age INT
);
- Criamos o banco;
- Acessamos o banco;
- Criamos uma tabela no banco;
Com esse ambiente pronto, podemos prosseguir para o desenvolvimento do código Python.
No ambiente Python…
Antes de seguir para o código, é importante termos em mente alguns métodos que são usados em ambas bibliotecas.
.cursor
– O cursor é a obtenção de uma transação. Então para realizar uma transação, use o cursor.- .commit – Este método envia uma instrução COMMIT para o servidor MySQL, confirmando a transação atual, ou seja, é usado para salvar as alterações.
.connect()
– Este método estabelece uma conexão, estabelecendo uma sessão com o servidor MySQL. Se nenhum argumento for fornecido, ele usa os valores já configurados ou padrão..close()
– Fecha a conexão com o servidor e as transações..execute()
– Este método executa a operação
📌Conexão usando o mysql.connector:
import mysql.connector
Importamos a biblioteca do mysql.connector
import mysql.connector
connection = mysql.connector.connect(
host="localhost",
user="root",
passwd="root",
database="codenglish"
)
Em seguida, temos que estabelecer a conexão. Para isso, você deve fornecer as informações de host, usuário, senha e o database que se quer trabalhar.
if connection.is_connected():
cursor = connection.cursor()
cursor.execute('select database();')
db = cursor.fetchone()
print(f'Connection at database {db} successfully!')
Para obtermos informações sobre a conexão estabelecida, usaremos o método .is_connected()
, que relata se a conexão com o servidor MySQL está disponível. O método .fetchone()
retorna uma linha de um conjunto de resultados de consulta ou None caso não haja essa linha.
if connection.is_connected():
cursor.close()
connection.close()
print('Connection closed!')
Caso esteja tudo certo com a conexão, podemos encerrar a comunicação com o servidor.
📌Conectando com PyMySQL
Com ela, vou preencher a tabela através do código e as alterações serão salvas no banco de dados.
import pymysql
connection = pymysql.connect(
host="localhost",
db="codenglish",
password="root"
user="root"
)
Começamos pela importação da biblioteca e inserimos as informações do servidor MySQL.
cursor = connection.cursor()
name = str(input('Seu nome: '))
age = int(input('Sua idade: '))
cursor.execute(f'INSERT INTO people VALUES (`{name}`, {age})')
Utilizamos o método cursor e criamos um input para receber os dados no terminal da IDE, e em seguida usamos a sintaxe do MySQL para os dados serem armazenados no banco.
if connection.cursor():
print(f'{name} registered!')
connection.commit()
connection.close()
Se ocorreu tudo bem, sinalizei que a pessoa foi cadastrada e fechei a conexão.
SELECT * FROM peoples;
Para saber se está armazenado no banco de dados, faça um select na tabela.
Sucesso! A conexão com o servidor foi estabelecida.
✅Conclusão
Existem muitos métodos em que você pode brincar com seu banco de dados através do Python. Para se aventurar mais, acesse este site consultando o documentação oficial MySQL.