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

Utilitários do SQLite em Python (Como funciona para desenvolvedores)

O pacote Python SQLite-utils é uma ferramenta versátil que contém funções utilitárias em Python para trabalhar com bancos de dados SQLite. Ele fornece uma interface de linha de comando (CLI) e uma biblioteca Python, facilitando a criação, manipulação e consulta de bancos de dados SQLite. Vamos analisar 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 .

Visão geral do SQLite-utils

O SQLite-utils foi projetado para simplificar várias tarefas relacionadas à manipulação de bancos de dados SQLite. Algumas de suas principais características incluem:

  • Criação e gerenciamento de bancos de dados: Crie facilmente novos bancos de dados e tabelas.
  • Inserção e consulta de dados: Insira dados JSON, arquivos CSV ou TSV e execute consultas SQL.
  • Pesquisa de texto completo: Configure e execute consultas de pesquisa de texto completo.
  • Transformações de esquema: Execute alterações de esquema que o comando ALTER TABLE do SQLite não suporta diretamente.
  • Normalização de dados: Extrair colunas para tabelas separadas a fim de normalizar os dados.
  • Funções SQL personalizadas: Instale plugins para adicionar funções SQL personalizadas.

Instalação

Você pode instalar o SQLite-utils usando o pip:

pip install sqlite-utils
pip install sqlite-utils
SHELL

Ou, se você usa o Homebrew no macOS:

brew install sqlite-utils
brew install sqlite-utils
SHELL

Utilizando o SQLite-utils como uma ferramenta de linha de comando

A ferramenta CLI permite que você execute diversas operações diretamente pela linha de comando. Aqui estão alguns exemplos:

Criando um banco de dados e inserindo dados

Vamos criar um novo banco de dados SQLite e inserir alguns dados de um arquivo CSV:

# Create a new database and insert data from a CSV file
sqlite-utils insert dogs.db dogs dogs.csv --csv
# Create a new database and insert data from a CSV file
sqlite-utils insert dogs.db dogs dogs.csv --csv
SHELL

Consultando dados

O comando abaixo mostra como executar uma consulta SQL no banco de dados:

# Query the database and display results in JSON format
sqlite-utils dogs.db "select * from dogs" --json
# Query the database and display results in JSON format
sqlite-utils dogs.db "select * from dogs" --json
SHELL

Listando tabelas

Liste todas as tabelas do banco de dados juntamente com a quantidade de linhas em cada uma:

sqlite-utils tables dogs.db --counts
sqlite-utils tables dogs.db --counts
SHELL

Utilizando SQLite-utils como uma biblioteca Python

Você também pode usar o SQLite-utils como uma biblioteca Python para interagir programaticamente com bancos de dados SQLite.

Criando um banco de dados e inserindo dados

Veja como criar um novo banco de dados e inserir dados usando Python:

import sqlite_utils

# Create a new database
db = sqlite_utils.Database("demo_database.db")

# Insert data into a table
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")
import sqlite_utils

# Create a new database
db = sqlite_utils.Database("demo_database.db")

# Insert data into a table
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")
PYTHON

Consultando dados

Você pode executar consultas SQL e obter resultados:

# Run a query and fetch results
rows = db.query("SELECT * FROM dogs")
for row in rows:
    print(row)
# Run a query and fetch results
rows = db.query("SELECT * FROM dogs")
for row in rows:
    print(row)
PYTHON

Pesquisa de texto completo

Habilite a pesquisa de texto completo em uma tabela e execute consultas de pesquisa:

# Enable full-text search on the 'name' column
db["dogs"].enable_fts(["name"])

# Run a search query for the term "Cleo"
results = db["dogs"].search("Cleo")
for result in results:
    print(result)
# Enable full-text search on the 'name' column
db["dogs"].enable_fts(["name"])

# Run a search query for the term "Cleo"
results = db["dogs"].search("Cleo")
for result in results:
    print(result)
PYTHON

Apresentando o IronPDF

sqlite utils 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:

Você pode personalizar PDFs com cabeçalhos, rodapés, números de página e margens ajustáveis. Além disso, oferece suporte a tamanhos de papel personalizados e layouts responsivos.

Conformidade com as normas:

Compatível com os padrões PDF, incluindo 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 utilitários SQLite.

import sqlite_utils
from ironpdf import ChromePdfRenderer, License

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

# Initialize a new database
db = sqlite_utils.Database("mydatabase.db")

# Define a table schema
schema = {
    "id": int,
    "name": str,
    "age": int
}

# Create a table with the defined schema
db["users"].create(schema)

# Sample data to insert into the table
data = [
    {"id": 1, "name": "Alice", "age": 30},
    {"id": 2, "name": "Bob", "age": 28},
    {"id": 3, "name": "Charlie", "age": 32}
]

# Insert data into the table
db["users"].insert_all(data)

# Query all records from the table
rows = db.query("SELECT * FROM users")

# Initialize the PDF renderer
renderer = ChromePdfRenderer()

# Create HTML content for the PDF
content = "<h1>Awesome IronPDF with Sqlite-Utils</h1>"
content += "<p>Table data:</p>"
for row in rows:
    content += f"<p>{row}</p>"

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

# Save the generated PDF as a file
pdf.save_as("DemoSqliteUtils.pdf")
import sqlite_utils
from ironpdf import ChromePdfRenderer, License

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

# Initialize a new database
db = sqlite_utils.Database("mydatabase.db")

# Define a table schema
schema = {
    "id": int,
    "name": str,
    "age": int
}

# Create a table with the defined schema
db["users"].create(schema)

# Sample data to insert into the table
data = [
    {"id": 1, "name": "Alice", "age": 30},
    {"id": 2, "name": "Bob", "age": 28},
    {"id": 3, "name": "Charlie", "age": 32}
]

# Insert data into the table
db["users"].insert_all(data)

# Query all records from the table
rows = db.query("SELECT * FROM users")

# Initialize the PDF renderer
renderer = ChromePdfRenderer()

# Create HTML content for the PDF
content = "<h1>Awesome IronPDF with Sqlite-Utils</h1>"
content += "<p>Table data:</p>"
for row in rows:
    content += f"<p>{row}</p>"

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

# Save the generated PDF as a file
pdf.save_as("DemoSqliteUtils.pdf")
PYTHON

Explicação do código

Este script combina as funcionalidades do pacote Python SQLite-utils e da biblioteca IronPDF para gerenciar um banco de dados SQLite e gerar um documento PDF. A seguir, uma explicação passo a passo do que o código faz:

  1. Inicialização do banco de dados:

    • Inicializa um banco de dados SQLite chamado "mydatabase.db" usando o SQLite-utils.
  2. Criação da tabela:

    • Define um esquema de tabela com as colunas id, name e age.
    • Cria uma tabela chamada "users" no banco de dados SQLite usando o esquema definido.
  3. Inserção de dados:

    • Insere vários registros na tabela "users" usando SQLite-utils.
  4. Consulta de dados:

    • Recupera todos os registros da tabela "users" e cria uma representação HTML dos dados.
  5. Geração de PDF:
    • Utiliza o IronPDF para criar um documento PDF.
    • Constrói o conteúdo HTML do documento PDF, incluindo cabeçalhos e dados de tabelas recuperados do banco de dados SQLite.
    • Salva o documento PDF gerado como "DemoSqliteUtils.pdf".

Em resumo, este script demonstra como aproveitar o SQLite-utils para tarefas de gerenciamento de banco de dados, como criação de tabelas, inserção de dados e consultas, em conjunto com o IronPDF para gerar documentos PDF a partir de conteúdo dinâmico proveniente de um banco de dados SQLite em aplicações Python.

Saída

utilitários sqlite em Python (Como funciona para desenvolvedores): Figura 2 - Exemplo de saída do console

PDF

sqlite utils Python (Como funciona para desenvolvedores): Figura 3 - Exemplo de saída em PDF utilizando IronPDF para gerar um relatório

Licença IronPDF

O IronPDF funciona com a chave de licença do Python. 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 de comprar.

Insira a chave de licença no início do script antes de usar o pacote IronPDF :

from ironpdf import License

# Apply your license key
License.LicenseKey = "key"
from ironpdf import License

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

Conclusão

SQLite-utils é uma ferramenta poderosa para trabalhar com bancos de dados SQLite. Oferece tanto uma interface de linha de comando (CLI) quanto uma biblioteca Python. Seja para manipular dados rapidamente a partir da linha de comando ou para integrar operações do SQLite em suas aplicações Python, o SQLite oferece uma solução flexível e fácil de usar.

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