O MySQL é um dos bancos de dados relacionais mais populares. Ele permite que você armazene dados em tabelas e crie relacionamentos entre essas tabelas. Para usar o MySQL, que funciona como um servidor de banco de dados, você precisará escrever código para se conectar a ele.
A maioria das linguagens de programação, como Python, oferece suporte para isso. Na verdade, em Python, existem várias abordagens que você pode adotar, cada uma com suas próprias vantagens.
Prepare sua configuração do MySQL
Para se conectar ao banco de dados, você precisa dos seguintes valores:
- Host: a localização do servidor MySQL, localhost se você estiver executando no mesmo computador.
- Usuário: o nome de usuário do MySQL.
- Senha: a senha do MySQL.
- Nome do banco de dados: o nome do banco de dados ao qual você deseja se conectar.
Antes de se conectar ao banco de dados MySQL, crie um novo diretório:
mkdir python-mysql
Configurar um ambiente virtual Python
Um ambiente virtual Python permite instalar pacotes e executar scripts em um ambiente isolado. Quando você
criar um ambiente virtual, você pode instalar versões de dependências do Python e do Python dentro dele. Dessa forma, você isola versões diferentes e evita problemas de compatibilidade.Conecte-se ao MySQL usando mysqlclient
o cliente mysql driver é uma interface para o servidor de banco de dados MySQL que fornece a API do servidor de banco de dados Python. Está escrito em C.
Execute o seguinte comando no ambiente virtual para instalar o mysqlclient:
pip instalar cliente mysql
Se você estiver em uma máquina Linux, instale primeiro os cabeçalhos e bibliotecas de desenvolvimento Python 3 e MySQL.
#Debian/Ubuntu
sudo apt-get instalar python3-dev predefinição-libmysqlclient-dev construir-essencial
# Red Hat / CentOS
sudo yum instalar python3-devel mysql-devel
No Windows, você pode instalar o mysqlclient usando um arquivo binário wheel. Baixe o arquivo mysqlclient que é compatível com sua plataforma em A coleção não oficial de Christoph Gohlke. Você pode então usar o arquivo wheel baixado com pip para instalar o mysqlclient assim:
pipinstalarc:\\cliente mysql‑1.3.13‑cp36‑cp36m‑win_amd64.whl
Use o seguinte código de conexão para se conectar ao banco de dados MySQL assim que a instalação estiver concluída:
importar MySQLdb
conexão = MySQLdb.connect(
host="localhost",
usuário="<mysql_user>",
senha="<mysql_password>",
db="<nome do banco de dados>"
)cursor = conexão.cursor()
cursor.execute("selecionarbase de dados();")
db = cursor.fetchone()
se db:
imprimir("Você'está conectado ao banco de dados: ", db)
senão:
imprimir('Não conectado.')
Neste programa, você tem:
- cliente mysql importado.
- Criado um objeto de conexão usando MySQLdb.connect().
- Passou os detalhes de configuração do banco de dados para MySQLdb.connect().
- Criado um objeto cursor para interagir com o MySQL.
- Usou o objeto cursor para buscar a versão do banco de dados MySQL conectado.
Lembre-se de trocar os detalhes do banco de dados pelos seus próprios.
Conecte-se ao MySQL usando mysql-connector-python
mysql-conector-python é o driver de conexão oficial suportado pela Oracle. Também é escrito em Python puro.
Instale-o via pip para começar a usá-lo.
pip instalar mysql-conector-python
Conecte-se ao MySQL usando o seguinte código de conexão.
importar mysql.connector
a partir de mysql.connector importarErroconexão = mysql.connector.connect (host ="localhost",
usuário="<mysql_user>",
senha="<mysql_password>",
db="<nome do banco de dados>")
tentar:
E seconexão.está conectado():
cursor = conexão.cursor()
cursor.execute("selecionarbase de dados();")
db = cursor.fetchone()
imprimir("Você'está conectado ao dtabase: ", db)
exceto ErroComo e:
imprimir("Erroenquanto conectando ao MySQL", e)
finalmente:
E seconexão.está conectado():
cursor.perto()
conexão.perto()
print("Conexao MySQL é fechado")
O código de conexão acima faz a mesma coisa que o código de conexão mysqclient.
Depois de criar o objeto de conexão, você pode criar um cursor, que pode ser usado para executar consultas no banco de dados.
Este programa de conexão também usa o tente... pegue quadra. A classe Error, de mysql.connector, permite capturar exceções levantadas ao se conectar ao banco de dados. Isso deve simplificar a depuração e a solução de problemas.
Conecte-se ao MySQL usando PyMySQL
o PyMySQL driver de conexão é um substituto para MySQLdb. Para usá-lo, você precisa estar executando o Python 3.7 ou mais recente e seu servidor MySQL deve ser a versão 5. 7, ou mais recente. Se você usa o MariaDB, deve ser a versão 10.2 ou superior. Você pode encontrar esses requisitos no Página PyMySQL do Github.
Para instalar o PyMySQL, execute o seguinte comando.
pip instalar PyMySQL
Conecte-se ao MySQL usando PyMySQL usando este código.
importar pymysql
conexão = pymysql.connect (host ="localhost",
usuário="<mysql_user>",
senha="<mysql_password>",
banco de dados ="<nome do banco de dados>")
tentar:
cursor = conexão.cursor()
cursor.execute("selecionarbase de dados();")
db = cursor.fetchone()
imprimir("Você'está conectado ao banco de dados: ", db)
exceto pymysql. Erro Como e:
imprimir("Erroenquanto conectando ao MySQL", e)
finalmente:
cursor.perto()
conexão.perto()
print("Conexao MySQL é fechado")
Depois de fazer a conexão e criar o objeto cursor, você pode começar a fazer consultas SQL.
Conecte-se ao MySQL usando aiomysql
o aiomysql driver de conexão é como a versão assíncrona do PyMySQL. Ele fornece acesso a um banco de dados MySQL a partir do framework assíncrono.
Para usar o aiomysql, você precisa do Python 3.7+ e do PyMySQL instalado em seu ambiente de desenvolvimento.
Execute o seguinte comando para instalar o asyncio e o aiomysql.
pip instalar assíncrono
pip instalar aiomysql
Com o aiomysql, você pode conectar o Python ao MySQL usando um objeto de conexão básico e um pool de conexões.
Aqui está um exemplo mostrando como se conectar ao banco de dados MySQL usando um objeto de conexão.
importar assíncrono
importar aiomysql
loop = asyncio.get_event_loop()assíncronodefpython_mysql():
conexão = aguarde aiomysql.connect (host ="localhost",
usuário="<mysql_user>",
senha="<mysql_password>",
banco de dados ="<nome do banco de dados>")cur = aguardam conexão.cursor()
aguarde cur.execute("selecionarbase de dados();")
bd = aguardam cur.fetchone()
imprimir("Você'está conectado ao banco de dados: ", db)
aguardam cur.close()
conexão.perto()
ciclo.run_until_complete(python_mysql())
Ao contrário de um objeto de conexão de banco de dados, um pool de conexões permite que você reutilize conexões de banco de dados. Ele faz isso mantendo um conjunto de conexões abertas e atribuindo-as mediante solicitação. Quando um cliente solicita uma conexão, ele recebe uma do pool. Depois que o cliente fecha a conexão, a conexão volta ao pool.
O código básico para conectar através de um pool é como abaixo:
importar assíncrono
importar aiomysql
loop = asyncio.get_event_loop()
assíncronodefpython_mysql():
pool = aguarde aiomysql.create_pool (host="localhost",
usuário="<mysql_user>",
senha="<mysql_password>",
banco de dados ="<nome do banco de dados>", loop=loop, autocommit=Falso)assíncronocom pool.adquirir() Como conexão:
cursor = aguardam conexão.cursor()
aguarde cur.execute("selecionarbase de dados();")
bd = aguardam cur.fetchone()
imprimir("Você'está conectado ao banco de dados: ", db)piscina.perto()
aguardam pool.wait_closed()
ciclo.run_until_complete(python_mysql())
Este programa deve imprimir a versão do MySQL à qual você se conectou ao executá-lo.
Gerenciando seu banco de dados PostgreSQL
Este artigo mostrou várias maneiras de conectar um aplicativo Python ao MySQL. Cada um desses métodos permite interagir e executar consultas no banco de dados.
Uma vez conectado a um banco de dados MySQL, você pode executar consultas de dados e realizar transações de banco de dados. Você pode criar um aplicativo Python, conectá-lo ao MySQL e começar a armazenar dados.