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.