SQLite em Python: guia completo para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Fundamentos do SQLite em Python

Trabalhar com bancos de dados é essencial em praticamente qualquer aplicação moderna. No entanto, nem sempre é necessário usar sistemas complexos e pesados como MySQL ou PostgreSQL. Para projetos pequenos, protótipos ou aplicativos locais, o SQLite — sistema de banco de dados integrado ao Python — é a escolha ideal.

Neste guia, vamos explorar os princípios do SQLite em Python. Você aprenderá a realizar as operações principais com bancos de dados. Também veremos exemplos práticos do comando UPDATE no SQLite usando Python.

O que é SQLite e suas vantagens

SQLite é um banco de dados relacional leve e embutido. Ele não precisa de um servidor separado para funcionar. O banco de dados SQLite é armazenado diretamente em um único arquivo no disco do computador.

Principais vantagens do SQLite:

  • Incluso na biblioteca padrão do Python através do módulo sqlite3
  • Não requer instalação ou configuração de servidor separado
  • Ideal para aplicativos locais e soluções móveis
  • Simplicidade de uso e alta velocidade em volumes pequenos de dados
  • Suporte a consultas SQL padrão
  • Multiplataforma e portátil
  • Confiabilidade e estabilidade

Conectando ao banco de dados SQLite

Para trabalhar com SQLite, usamos o módulo padrão sqlite3. Não é necessário instalá-lo separadamente, pois ele já vem incluído na instalação padrão do Python.

import sqlite3

# Criar ou conectar ao banco de dados
conn = sqlite3.connect('exemplo.db')

# Criar cursor para executar consultas SQL
cursor = conn.cursor()

Ao executar este código, o arquivo do banco de dados exemplo.db é criado no diretório atual. Se o arquivo já existir, a conexão é feita com o banco existente.

Criando a estrutura do banco de dados

Criação de tabelas

A criação de uma tabela no SQLite é feita com o comando CREATE TABLE. Veja um exemplo de criação de tabela para armazenar informações de usuários:

cursor.execute('''
    CREATE TABLE IF NOT EXISTS usuarios (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nome TEXT NOT NULL,
        idade INTEGER,
        email TEXT UNIQUE
    )
''')

conn.commit()

Neste exemplo, criamos a tabela usuarios com quatro colunas:

  • id — identificador único com autoincremento
  • nome — nome do usuário (campo obrigatório)
  • idade — idade do usuário
  • email — e-mail (valor único)

Criação de índices para otimização

Para melhorar a performance das consultas, podemos criar índices:

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_usuarios_email ON usuarios(email)
''')

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_usuarios_idade ON usuarios(idade)
''')

conn.commit()

Operações com dados

Inserindo dados na tabela

A inserção de um registro na tabela é feita com o comando INSERT:

cursor.execute('''
    INSERT INTO usuarios (nome, idade, email) 
    VALUES (?, ?, ?)
''', ('Alice', 30, 'alice@exemplo.com'))

conn.commit()

Inserção em massa de dados

Para adicionar vários registros de uma vez, usamos o método executemany:

dados_usuarios = [
    ('Bob', 25, 'bob@exemplo.com'),
    ('Carlos', 35, 'carlos@exemplo.com'),
    ('Diana', 28, 'diana@exemplo.com'),
    ('Eva', 32, 'eva@exemplo.com')
]

cursor.executemany('''
    INSERT INTO usuarios (nome, idade, email) 
    VALUES (?, ?, ?)
''', dados_usuarios)

conn.commit()

Blogs

Book Recommendations