Como conectar Python a bancos de dados SQL

Conectar Python a bancos de dados SQL permite que você interaja com bancos de dados diretamente de seus scripts Python. Esse recurso é essencial para tarefas como recuperação de dados, atualizações e análises. Neste artigo, exploraremos como conectar Python a bancos de dados SQL usando bibliotecas populares como SQLite, MySQL e PostgreSQL.

Configurando seu ambiente

Para conectar Python a bancos de dados SQL, você precisa instalar as bibliotecas de conectores de banco de dados apropriadas. Aqui estão as bibliotecas comuns para diferentes bancos de dados:

  • SQLite: Nenhuma instalação adicional é necessária, pois o suporte ao SQLite é integrado ao Python.
  • MySQL: Use a biblioteca mysql-connector-python ou PyMySQL.
  • PostgreSQL: Use a biblioteca psycopg2.

Conectando a um banco de dados SQLite

SQLite é um banco de dados leve que é construído na biblioteca padrão do Python. Veja como se conectar a um banco de dados SQLite e executar operações básicas:

import sqlite3

# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())  # Output: [(1, 'Alice', 30)]

# Close the connection
conn.close()

Conectando a um banco de dados MySQL

Para conectar-se a um banco de dados MySQL, você precisará instalar a biblioteca mysql-connector-python. Você pode instalá-la usando pip:

pip install mysql-connector-python

Aqui está um exemplo de conexão a um banco de dados MySQL e execução de operações básicas:

import mysql.connector

# Connect to a MySQL database
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='testdb'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    position VARCHAR(255)
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall())  # Output: [(1, 'Bob', 'Engineer')]

# Close the connection
conn.close()

Conectando a um banco de dados PostgreSQL

Para conectar-se a um banco de dados PostgreSQL, você precisa da biblioteca psycopg2. Instale-a usando pip:

pip install psycopg2

Aqui está um exemplo de conexão a um banco de dados PostgreSQL e execução de operações básicas:

import psycopg2

# Connect to a PostgreSQL database
conn = psycopg2.connect(
    dbname='testdb',
    user='yourusername',
    password='yourpassword',
    host='localhost'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall())  # Output: [(1, 'Laptop', 999.99)]

# Close the connection
conn.close()

Conclusão

Conectar Python a bancos de dados SQL é uma habilidade fundamental para qualquer aplicativo orientado a dados. Usando bibliotecas como sqlite3, mysql-connector-python e psycopg2, você pode interagir facilmente com vários bancos de dados. Entender como executar operações básicas, como criar tabelas, inserir dados e consultar bancos de dados, permitirá que você gerencie e manipule seus dados de forma eficaz.