Ir para o conteúdo do rodapé
AJUDA DO PYTHON

sqlite3 em Python (Como funciona para desenvolvedores)

O módulo sqlite3 em Python oferece uma maneira de interagir com bancos de dados SQLite. Faz parte da Biblioteca Padrão do Python, portanto você não precisa instalar nada extra para usá-la. Vamos explorar suas funcionalidades e ver alguns exemplos de código. Mais adiante neste artigo, exploraremos o IronPDF, uma biblioteca de geração de PDFs desenvolvida pela Iron Software.

O SQLite é um banco de dados leve, baseado em disco, que não requer um processo de servidor de banco de dados separado. O módulo sqlite3 fornece um ambiente compatível com a interface SQL para interagir perfeitamente com um banco de dados existente ou recém-criado. O módulo implementa a especificação DB-API 2.0 descrita pela PEP 249.

Uso básico

Aqui está um exemplo simples e várias instruções SQL para você começar a usar o sqlite3 .

Conectando-se a um banco de dados

Primeiro, você precisará se conectar ao seu banco de dados SQLite. Caso o arquivo de banco de dados esteja ausente, ele será gerado:

import sqlite3

# Connect to the database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object
cur = conn.cursor()
import sqlite3

# Connect to the database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object
cur = conn.cursor()
PYTHON

Criando uma tabela

Utilize a instrução SQL CREATE TABLE para criar uma nova tabela de dados:

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

Inserindo dados

Eis como inserir dados na tabela do banco de dados:

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

# Commit the transaction using the connection object
conn.commit()
# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))

# Commit the transaction using the connection object
conn.commit()
PYTHON

Consultando dados

Você pode executar comandos SQL e obter resultados da tabela do banco de dados:

# Query the database
cur.execute('SELECT * FROM users')

# Fetch all results
rows = cur.fetchall()

# Print the results
for row in rows:
    print(row)
# Query the database
cur.execute('SELECT * FROM users')

# Fetch all results
rows = cur.fetchall()

# Print the results
for row in rows:
    print(row)
PYTHON

Atualizando dados

Para atualizar os dados existentes na tabela:

# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))

# Commit the transaction
conn.commit()
# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))

# Commit the transaction
conn.commit()
PYTHON

Exclusão de dados

Para excluir dados das linhas do banco de dados onde o nome é Alice:

# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('Alice',))

# Commit the transaction
conn.commit()
# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('Alice',))

# Commit the transaction
conn.commit()
PYTHON

Encerrando a conexão

Lembre-se de fechar o cursor e a conexão quando terminar:

# Close the cursor and connection
cur.close()
conn.close()
# Close the cursor and connection
cur.close()
conn.close()
PYTHON

Recursos avançados

Utilizando Gerenciadores de Contexto

Você pode usar gerenciadores de contexto para lidar com o fechamento automático da conexão:

with sqlite3.connect('example.db') as conn:
    cur = conn.cursor()
    cur.execute('SELECT * FROM users')
    rows = cur.fetchall()
    for row in rows:
        print(row)
with sqlite3.connect('example.db') as conn:
    cur = conn.cursor()
    cur.execute('SELECT * FROM users')
    rows = cur.fetchall()
    for row in rows:
        print(row)
PYTHON

Processamento de transações

O SQLite suporta transações, e você pode usar os comandos BEGIN, COMMIT e ROLLBACK para gerenciá-las:

try:
    conn.execute('BEGIN')
    cur.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
    conn.commit()
except sqlite3.Error as e:
    conn.rollback()
    print(f"An error occurred: {e}")
try:
    conn.execute('BEGIN')
    cur.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
    conn.commit()
except sqlite3.Error as e:
    conn.rollback()
    print(f"An error occurred: {e}")
PYTHON

Apresentando o IronPDF

sqlite3 Python (Como funciona para desenvolvedores): Figura 1 - IronPDF: A biblioteca PDF for Python

IronPDF é uma poderosa biblioteca Python projetada para criar, editar e assinar PDFs usando HTML, CSS, imagens e JavaScript. Oferece desempenho de nível comercial com baixo consumo de memória. As principais características incluem:

Conversão de HTML para PDF:

Converter arquivos HTML, strings HTML e URLs em PDFs. Por exemplo, renderize uma página da web como um PDF usando o renderizador de PDF do Chrome.

Suporte multiplataforma:

Compatível com diversas plataformas .NET , incluindo .NET Core, .NET Standard e .NET Framework. É compatível com Windows, Linux e macOS.

Edição e assinatura:

Configure propriedades, adicione segurança com senhas e permissões e aplique assinaturas digitais aos seus PDFs.

Modelos e configurações de página:

Personalize PDFs com cabeçalhos, rodapés, números de página e margens ajustáveis. Suporta layouts responsivos e tamanhos de papel personalizados.

Conformidade com as normas:

É compatível com padrões PDF como PDF/A e PDF/UA, suporta codificação de caracteres UTF-8 e gerencia recursos como imagens, CSS e fontes.

Gere documentos PDF usando IronPDF e SQLite3 em Python.

import sqlite3
from ironpdf import * 

# Apply your license key
License.LicenseKey = "key"

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

# Create a cursor object for database connection
cur = conn.cursor()

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

# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser1', 30))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser2', 31))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser3', 25))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser4', 28))

# Commit the transaction using the connection object
conn.commit()

# Query the database
cur.execute('SELECT * FROM users')

# Fetch all results
rows = cur.fetchall()

# Print the results
for row in rows:
    print(row)

# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))

# Commit the transaction
conn.commit()    

# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('IronUser1',))

# Commit the transaction
conn.commit()

# Initialize PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"

for row in rows:
    content += "<p>" + str(row) + "</p>"

# Close the cursor and connection
cur.close()
conn.close()

# Render the HTML as a PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Export to a file
pdf.SaveAs("DemoSqlite3.pdf")
import sqlite3
from ironpdf import * 

# Apply your license key
License.LicenseKey = "key"

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

# Create a cursor object for database connection
cur = conn.cursor()

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

# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser1', 30))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser2', 31))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser3', 25))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser4', 28))

# Commit the transaction using the connection object
conn.commit()

# Query the database
cur.execute('SELECT * FROM users')

# Fetch all results
rows = cur.fetchall()

# Print the results
for row in rows:
    print(row)

# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))

# Commit the transaction
conn.commit()    

# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('IronUser1',))

# Commit the transaction
conn.commit()

# Initialize PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"

for row in rows:
    content += "<p>" + str(row) + "</p>"

# Close the cursor and connection
cur.close()
conn.close()

# Render the HTML as a PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Export to a file
pdf.SaveAs("DemoSqlite3.pdf")
PYTHON

Explicação do código

Este programa em Python demonstra como usar a biblioteca SQLite para criar um banco de dados, inserir dados nele, realizar consultas, atualizar registros, excluir registros e, finalmente, gerar um documento PDF usando o IronPDF.

  1. Importando bibliotecas:

    • sqlite3: Módulo integrado do Python para trabalhar com bancos de dados SQLite.
    • ironpdf: Importando componentes do IronPDF, que permite a geração de PDFs.
  2. Conectando-se ao banco de dados:

    • Estabelece uma conexão com um banco de dados SQLite chamado example.db.
  3. Criando uma tabela:

    • Define uma tabela SQLite users com colunas id (INTEGER, PRIMARY KEY), name (TEXT, NOT NULL) e age (INTEGER).
  4. Inserindo dados:

    • Insira várias linhas de dados na tabela users.
  5. Confirmação de transações:

    • Confirma as alterações no banco de dados para torná-las permanentes.
  6. Consultando o banco de dados:

    • Executa uma instrução SELECT para recuperar todas as linhas da tabela users.
  7. Atualização de dados:

    • Atualiza o age de um usuário chamado 'Alice'.
  8. Exclusão de dados:

    • Exclui um usuário chamado 'IronUser1' da tabela users.
  9. Geração de PDF:

    • Utiliza o IronPDF (ChromePdfRenderer) para criar um documento PDF a partir de conteúdo HTML.
    • Combina os dados do cabeçalho e da tabela (recuperados do banco de dados) no conteúdo HTML.
    • Salva o documento PDF como DemoSqlite3.pdf.
  10. Encerrando Conexões:
    • Fecha o cursor (cur) e a conexão (conn) para liberar recursos.

Este script demonstra um fluxo de trabalho completo, desde a configuração do banco de dados até a manipulação de dados e a geração de PDFs, utilizando as bibliotecas SQLite3 e IronPDF do Python.

Saída

sqlite3 Python (Como funciona para desenvolvedores): Figura 2 - Exemplo de saída do console

PDF

sqlite3 Python (Como funciona para desenvolvedores): Figura 3 - Exemplo de saída em PDF gerada pelo IronPDF com sqlite para consultar dados

Licença IronPDF

O IronPDF funciona com uma chave de licença. O IronPDF for Python oferece uma chave de licença de avaliação gratuita para permitir que os usuários testem seus diversos recursos antes da compra.

Insira a chave de licença aqui:

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
JAVASCRIPT

Conclusão

sqlite3 Python (Como funciona para desenvolvedores): Figura 4 - Página de licenciamento do IronPDF

O módulo sqlite3 é uma ferramenta poderosa e fácil de usar para trabalhar com bancos de dados SQLite em Python. Sua integração à Biblioteca Padrão do Python torna as operações de banco de dados, tanto simples quanto complexas, mais convenientes. O IronPDF oferece uma licença de avaliação. Depois disso, a licença começa em $799 e continua a partir desse valor.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim