Você não detesta fechar um arquivo e esquecer de salvar? É uma situação desagradável, mas que acontece, não importa quantos anos de experiência com informática você tenha. E é isso que acontece quando você não conecta seu projeto a um banco de dados.
Neste artigo eu vou falar como conectar Python ao banco de dados MySQL
Bom, você já tem seu projeto rodando e funcionando. Porque você precisa conectar com um banco de dados?
A não ser que você queira que o seu projeto não salve nenhuma informação, você não precisa. Um banco de dados serve para guardar informações que poderemos usar mais tarde, e não precisarmos recomeçar tudo do zero.
Vamos explicar passo a passo, como conectar e criar um banco de dados MySQL usando Python, da maneira mais curta e eficiente possível.
Um banco de dados armazena os dados de forma organizada para que você possa pesquisar e recuperar esses dados mais tarde.
Um banco de dados, deve conter uma ou mais tabelas. A tabela é muito parecida com uma planilha, ele é basicamente um conjunto de linhas e colunas.
Todas as linhas têm as mesmas colunas, e cada coluna contém os dados em si. Se isso ajudar, pense em suas tabelas da mesma forma que você pensaria em uma tabela no Excel.
Os dados podem ser inseridos, recuperados, atualizados e excluídos de uma tabela. A palavra, criada, é geralmente usada ao invés de inserida, essas quatro funções são carinhosamente abreviadas como CRUD (Create, Read, Update and Delete)
Uma base de dados relacional organiza os dados em tabelas, e os vincula, com base em relações definidas. Estes relacionamentos permitem recuperar e combinar dados de uma ou mais tabelas com uma única consulta.
Um banco de dados vai ser extremamente útil se você seguiu o tutorial onde eu mostrei como criar uma página de login do zero.
Mas isso foi apenas um monte de palavras. Para entender verdadeiramente um banco de dados relacional, você precisa criar o seu. Então, vamos lá.
A primeira coisa que você precisa fazer, se você quer conectar Python ao banco de dados MySQL é baixar e instalar a ultima versão do MySQL. Basta ir no site do MySQL, e fazer o download da versão correta do sistema operacional do seu computador, se ainda não tiver feito isso. A versão que estou utilizando aqui é a MySQL Community Server 8.0.19.
Eu também recomendo fortemente você instalar uma ferramenta para gerenciar graficamente seus bancos de dados como o MySQL Workbench ou phpMyAdmin.
Feito isso basta checar se seu banco de dados esta funcionando com qualquer uma das ferramentas que sugeri, ou qualquer uma outra que você preferir, usando o usuário e senha que você criou durante a instalação.
Segundo passo, precisamos conectar Python ao banco de dados MySQL, através de um conector.
Python não vem nativamente com um conector. Você precisa fazer o download. Um Conector nada mais é do que um modulo que auxilia a comunicação entre Python ao banco de dados MySQL. Temos pelo menos 5 módulos disponÍveis, mas nesse tutorial, vamos utilizar o que é disponibilizado pela própria MySQL.
Para instalar o Conector, a maneira mais simples (e recomendável) é utilizando pip, que é o instalador de pacotes para Python. Eu citei o pip nesse outro artigo. Se você já tem o pip instalado, basta executar esse comando abaixo para instalar o Conector Python/MySQL.
pip install mysql-connector-python
Para conectar Python ao banco de dados MySQL usando o conector que acabamos de instalar é bem simples.
A primeira coisa que precisamos fazer é importar o conector. Em seguida utilizar a função connect()
com as credenciais que você gerou durante a instalação do MySQL. O nome do host pode ser tanto localhost
ou 127.0.0.1
que são sinônimos.
Nesse teste apenas vamos abrir uma conexão e fechar logo em seguida, com a função close()
.
import mysql.connector
cnx = mysql.connector.connect(user='root', password='********', host='127.0.0.1')
cnx.close()
Copie e cole esse código, salve o arquivo como connection.py
ou como preferir. Abra uma janela no seu terminal na pasta onde contém o arquivo e rode o comando python connection.py
.
Se esse código rodar sem problemas quer dizer que funcionou e você já pode usar o MySQL.
Chegou a hora de criar o nosso primeiro banco de dados. Vamos modificar um pouco o código acima e criar o código que vai conectar Python ao banco de dados MySQL.
Vamos criar uma instância de um objeto da classe MySQLCursor
ao invés de apenas fechar a conexão. O objeto interage com com o MySQL server usando um objeto MySQLConnection
.
Para criar o cursor basta usar o método cursor()
em uma conexão existente. Agora é escrever nossa SQL Query e executar utilizando o método execute()
do objeto mycursor
da conexão que acabamos de criar.
O comando SQL para criar um banco de dados é:
CREATE DATABASE mydatabase
Juntando tudo, temos esse código abaixo.
import mysql.connector
cnx = mysql.connector.connect(user='root', password='********', host='127.0.0.1')
mycursor = cnx.cursor()
mycursor.execute("CREATE DATABASE mydatabase")
Basta executar esse arquivo com o mesmo comando que mostrei lá em cima, python connection.py
. Se esse código também executar sem problemas, parabéns, você acaba de criar o seu primeiro banco de dados usando Python.
Para conferir seu banco de dados recém criado você pode utilizar uma das ferramentas que citei anteriormente. Utilizando o MySQLWorkbench eu obtive esse resultado.
Recapitulando tudo que vimos até aqui.
Primeiro passo, precisamos baixar o MySQL, depois instalar o conector Python/MySQL para conseguirmos conectar Python ao banco de dados MySQL e por fim, criar seu primeiro banco de dados usando o classe MySQLCursor.
Conectar seu projeto a um banco de dados é um passo importante e essencial. Na medida que o seu projeto cresce é de se esperar que você acumule mais dados. Por isso aqui estou citando como conectar Python ao banco de dados MySQL.
MySQL é um banco de dados extremamente confiável e amplamente utilizado, seu projeto vai estará muito bem servido com ele.
Bom espero que tenha ficado claro porque você deve ter um banco de dados no seu projeto e como é simples criar uma conexão.
Até a próxima.
e como criar tabelas , Não poderia ensinar ?
Estou trabalhando um post mais detalhado que vai cobrir essa parte, vai sair logo logo :)
Deixe um comentário