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
Ou, se você usa o Homebrew no macOS:
brew install sqlite-utils
brew install sqlite-utils
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
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
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
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")
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)
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)
Apresentando o IronPDF

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")
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:
-
Inicialização do banco de dados:
- Inicializa um banco de dados SQLite chamado "mydatabase.db" usando o SQLite-utils.
-
Criação da tabela:
- Define um esquema de tabela com as colunas
id,nameeage. - Cria uma tabela chamada "users" no banco de dados SQLite usando o esquema definido.
- Define um esquema de tabela com as colunas
-
Inserção de dados:
- Insere vários registros na tabela "users" usando SQLite-utils.
-
Consulta de dados:
- Recupera todos os registros da tabela "users" e cria uma representação HTML dos dados.
- 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


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"
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.




