Para começar a usar o MySQL com Python, você precisa instalar o pacote mysql-connector-python. Você pode instalar usando o pip:
# Código
pip install mysql-connector-python
Em seguida, você pode conectar-se ao MySQL usando o seguinte código:
# Código
import mysql.connector
# Conectar ao MySQL
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha"
)
# Criar um cursor
cursor = conn.cursor()
# Fechar a conexão
conn.close()
Para criar um novo banco de dados, use o seguinte comando:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha"
)
cursor = conn.cursor()
cursor.execute("CREATE DATABASE meu_banco_de_dados")
conn.close()
Para criar uma nova tabela dentro de um banco de dados:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE clientes (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255),
endereco VARCHAR(255)
)
""")
conn.close()
Para inserir dados em uma tabela:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
sql = "INSERT INTO clientes (nome, endereco) VALUES (%s, %s)"
val = ("João", "Rua A, 123")
cursor.execute(sql, val)
conn.commit()
conn.close()
Para consultar dados de uma tabela:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM clientes")
result = cursor.fetchall()
for row in result:
print(row)
conn.close()
Para aplicar filtros nas consultas:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM clientes WHERE nome = 'João'")
result = cursor.fetchall()
for row in result:
print(row)
conn.close()
Para ordenar os resultados das consultas:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM clientes ORDER BY nome ASC")
result = cursor.fetchall()
for row in result:
print(row)
conn.close()
Para excluir dados de uma tabela:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("DELETE FROM clientes WHERE nome = 'João'")
conn.commit()
conn.close()
Para excluir uma tabela:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("DROP TABLE clientes")
conn.close()
Para atualizar dados em uma tabela:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("UPDATE clientes SET endereco = 'Rua B, 456' WHERE nome = 'João'")
conn.commit()
conn.close()
Para limitar o número de resultados retornados:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM clientes LIMIT 5")
result = cursor.fetchall()
for row in result:
print(row)
conn.close()
Para combinar dados de várias tabelas, você pode usar joins. Exemplo de INNER JOIN:
# Código
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="seu_usuario",
password="sua_senha",
database="meu_banco_de_dados"
)
cursor = conn.cursor()
cursor.execute("""
SELECT clientes.nome, pedidos.produto
FROM clientes
INNER JOIN pedidos ON clientes.id = pedidos.cliente_id
""")
result = cursor.fetchall()
for row in result:
print(row)
conn.close()