Como conectar a um banco de dados MySQL usando Python

Conectar a um banco de dados MySQL usando Python

A linguagem Python é muito poderosa. Com ela, é possível realizar praticamente qualquer tipo de tarefa computacional desejada, desde a criação de scripts simples de configuração até algoritmos avançados empregados em machine learning e inteligência artificial.

Com o Python também podemos escrever scripts que se conectam a bancos de dados relacionais, permitindo realizar operações diversas como as operações CRUD básicas (Create, Read, Update, Delete) ou a execução de declarações SQL diversas e procedimentos armazenados, triggers, funções e outros tipos de rotinas.

conectar a um banco de dados MySQL usando Python

Neste artigo vamos mostrar como realizar a conexão de um script em Python a um banco de dados MySQL, e como testar essa conexão. Para tal, vamos empregar o módulo mysql-connector-python, específico para a conexão a este sistema de gerenciamento de bancos de dados.

Passos para a conexão ao MySQL

Vejamos os passos que devemos seguir para realizar a conexão a um banco de dados MySQL usando um script em Python.

  1. Ter o MySQL Server instalado, configurado e em execução na máquina local. Preferencialmente, ter um banco de dados já criado para testar a conexão.
  2. É necessário instalar o conector para MySQL do Python, que pode ser instalado usando o gerenciador de pacotes pip (no prompt / terminal) com o comando a seguir:
    $ pip3 install mysql-connector-python
  3. Com o método mysql.connector.connect() do conector MySQL Python iremos conectar o script Python ao banco de dados MySQL passando os parâmetros requeridos, que incluem o nome do host, nome do banco de dados, usuário e senha para a conexão..
  4. Após efetivar a conexão usamos o objeto retornado pelo método connect() para criar um objeto cursor que permitirá realizar operações no banco de dados, como as declarações SQL para consultas, inserções, atualizações e exclusões de registros, entre outras.
  5. Neste ponto podemos então executar as consultas SQL desejadas a partir do Python com o método cursor.execute().
  6. Após terminar de realizar as consultas, fechamos o objeto cursor com o método cursor.close(), e também fechamos a conexão ao banco MySQL com o método connection.close() para liberar os recursos do sistema.
  7. Não esquecer de capturar exceções caso algum erro possa ocorrer durante esse processo (veremos esse passo na próxima lição).

Código de conexão e teste (simplificado):

A seguir, temos um código simplificado para o teste de conexão do Python a um banco MySQL. Não vamos aqui usar blocos try /catch nem aplicar técnicas de segurança mais robustas, pois o objetivo hoje é simplesmente mostrar como usar o módulo mysql-connector-python para criar uma conexão, criar um cursor e executar uma declaração SQL no banco selecionado.

import mysql.connector
con = mysql.connector.connect(host='localhost',database='db_MeusLivros',user='root',password='123**')
if con.is_connected():
    db_info = con.get_server_info()
    print("Conectado ao servidor MySQL versão ",db_info)
    cursor = con.cursor()
    cursor.execute("select database();")
    linha = cursor.fetchone()
    print("Conectado ao banco de dados ",linha)
if con.is_connected():
    cursor.close()
    con.close()
    print("Conexão ao MySQL foi encerrada")

Resultado:

======== RESTART: C:\Users\Boson\Downloads\Conectar-MySQL-IDLE.py ========
Conectado ao servidor MySQL versão 5.7.13-log
Conectado ao banco de dados ('db_meuslivros',)
Conexão ao MySQL foi encerrada
>>> 

Conexão iniciada e finalizada com sucesso ao banco de dados MySQL. Executamos também a declaração SQL do MySQL SELECT DATABASE(), a qual retorna o nome do banco de dados selecionado no momento.

No próximo artigo vamos executar declarações SQL no banco por meio desta conexão, incluindo a inserção de registros, consultas simples e operações de CRUD em geral.

Até!

 

Sobre Fábio dos Reis (1192 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

6 Comentários em Como conectar a um banco de dados MySQL usando Python

  1. Ricardo Gonçalves // 09/06/2021 em 17:36 // Responder

    como conectar ao MySQL que está em uma hospedagem? Tentei da mesma forma, mas parece que não é possível

  2. Eu conectei o Dbeaver ao banco de dados.
    É possivel conectar o Python para executar um Select já pronto no DBeaver e extrai-lo em determinado diretorio?

  3. Como conectar ao Oracle ?

    Eu possuo o DBeaver instalado já com o Select dentro do oracle que preciso realizar a extração, como faria ?

  4. Pedro Henrique Da // 16/05/2023 em 15:37 // Responder

    Gostaria saber os detalhes sobre a senha em um caso real? O que devo preencher em host (endereço do server?), database (nome do banco de dados), user*, password*

    *São usuários criados a partir do MySQL Workbench?

    • Olá Pedro! Em host você coloca o endereço do servidor: se estiver online, será o endereço fornecido pelo serviço de hospedagem, e se estiver em rede local, pode ser o nome do computador (hostname) ou seu endereço IP.
      Em database
      você insere o nome do banco de dados que deseja acessar e manipular.
      User é o usuário que tenha privilégio de acesso a este banco – geralmente criados no servidor, por exemplo a partir do MySQL Workbench, como você mesmo citou.
      E password
      é a senha deste usuário.

Escreva um comentário

Seu e-mail não será divulgado


*