Python e MySQL: Guia Prático de Conectividade, Criação e Operações CRUD
Python e MySQL: Guia Prático de Conectividade, Criação e Operações CRUD
No mundo orientado a dados de hoje, desenvolvedores Python frequentemente precisam interagir com bancos de dados relacionais. MySQL, um RDBMS open-source, continua sendo escolha popular por sua robustez, suporte da comunidade e facilidade de uso. Este guia percorre cada passo — desde instalar MySQL e seu conector Python até criar bancos, tabelas e realizar operações CRUD básicas — tudo enfatizando boas práticas e código limpo.
O que é MySQL?
MySQL é um sistema líder de gerenciamento de banco de dados relacional (RDBMS) open-source. Co-fundador Michael Widenius, cuja filha inspirou o nome, construiu MySQL em 1995. Sua interface baseada em SQL, forte performance e suporte multiplataforma fazem dele escolha padrão para aplicações web, analytics de dados e mais.
Instalando MySQL no Linux/Unix
Baixe o pacote RPM oficial de MySQL Downloads. Abra terminal e execute:
rpm -i <nome_pacote>
Exemplo:
rpm -i MySQL-5.0.9.0.i386.rpm
Verifique a instalação:
mysql --version
Instalando MySQL no Windows
Baixe o instalador Windows do mesmo site MySQL e siga o assistente. Para guia visual passo a passo, veja este tutorial oficial.
Instalando Conector MySQL para Python
Use pip para instalar a biblioteca conector. O comando varia ligeiramente entre Python 2 e 3:
pip install mysql-connector
pip3 install mysql-connector
Testando Conexão MySQL
Uma vez instalado o conector, teste conectividade criando objeto de conexão simples. Substitua hostname, username e password com suas credenciais.
import mysql.connector
conn = mysql.connector.connect(
host="hostname",
user="username",
passwd="password"
)
print(conn)
Saída bem-sucedida será semelhante a:
<mysql.connector.connection.MySQLConnection object at 0x...>
Criando Banco de Dados via Python
Execute instrução CREATE DATABASE através de objeto cursor:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
passwd="root"
)
cursor = conn.cursor()
cursor.execute("CREATE DATABASE meu_primeiro_db")
cursor.execute("SHOW DATABASES")
for db in cursor:
print(db)
Saída: ("meu_primeiro_db",)
Criando Tabelas
Tabela Simples
Crie tabela aluno com duas colunas:
cursor.execute("CREATE TABLE aluno (id INT, nome VARCHAR(255))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Saída: ("aluno",)
Tabela com Chave Primária
Defina tabela funcionario com chave primária auto-incremento:
cursor.execute("CREATE TABLE funcionario (id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(255), salario INT(6))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Saída: ("funcionario",) ("aluno",)
Alterando Tabela
Modifique coluna existente para tornar chave primária:
cursor.execute("ALTER TABLE aluno MODIFY id INT PRIMARY KEY")
Verificação pode ser feita descrevendo a tabela ou inspecionando schema manualmente.
Inserindo Dados
Insira linhas em ambas as tabelas:
sql_aluno = "INSERT INTO aluno(id, nome) VALUES (1, 'João')" sql_func = "INSERT INTO funcionario(id, nome, salario) VALUES (1, 'João', 10000)" cursor.execute(sql_aluno) cursor.execute(sql_func) conn.commit() print(cursor.rowcount, "Registro Inserido")
Saída: 2 Registro Inserido
Próximos Passos
Aqui você pode explorar updates, deletes e queries mais avançadas. Sempre lembre de fechar sua conexão quando terminar:
conn.close()
Boa codificação!
python
- Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
- Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
- Domine Strings format() em Python com Exemplos Claros
- Domine o Método String.find() do Python: Sintaxe, Exemplos e Alternativas
- Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas
- Função round() em Python Explicada com Exemplos Práticos
- Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
- Python timeit(): Medindo Tempo de Execução com Exemplos Práticos
- Counter do Python em collections: Contagem Eficiente, Atualização e Operações Aritméticas
- Entendendo type() e isinstance() em Python: Exemplos Práticos