Saltar al pie de página
AYUDA DE PYTHON

sqlite utils Python (Cómo Funciona Para Desarrolladores)

El paquete SQLite-utils de Python es una herramienta versátil que contiene funciones de utilidad de Python para trabajar con bases de datos SQLite. Proporciona una interfaz de línea de comandos (CLI) y una biblioteca de Python, lo que facilita la creación, manipulación y consulta de bases de datos SQLite. Vamos a profundizar en sus características y ver algunos ejemplos de código. Más adelante en este artículo, exploraremos IronPDF, una biblioteca de generación de PDF desarrollada por Iron Software.

Descripción general de SQLite-utils

SQLite-utils está diseñado para simplificar varias tareas relacionadas con la manipulación de bases de datos SQLite. Algunas de sus características clave incluyen:

  • Creación y gestión de bases de datos: Creación fácil de nuevas bases de datos y tablas.
  • Inserción y consulta de datos: Inserción de datos JSON, archivos CSV o TSV y ejecución de consultas SQL.
  • Búsqueda de texto completo: Configuración y ejecución de consultas de búsqueda de texto completo.
  • Transformaciones de esquema: Realización de cambios en el esquema que ALTER TABLE de SQLite no soporta directamente.
  • Normalización de datos: Extracción de columnas en tablas separadas para normalizar los datos.
  • Funciones SQL personalizadas: Instalación de plugins para añadir funciones SQL personalizadas.

Instalación

Puedes instalar SQLite-utils usando pip:

pip install sqlite-utils
pip install sqlite-utils
SHELL

O, si usas Homebrew en macOS:

brew install sqlite-utils
brew install sqlite-utils
SHELL

Uso de SQLite-utils como herramienta CLI

La herramienta CLI te permite realizar varias operaciones directamente desde la línea de comandos. Aquí hay algunos ejemplos:

Creación de una base de datos e inserción de datos

Vamos a crear una nueva base de datos SQLite e insertar algunos datos desde un archivo 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

Consulta de datos

El comando a continuación es cómo realizarías una consulta SQL de la base de datos:

# 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

Tablas de listado

Lista todas las tablas en la base de datos junto con el conteo de filas:

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

Uso de SQLite-utils como biblioteca de Python

También puedes usar SQLite-utils como una biblioteca de Python para interactuar con bases de datos SQLite de manera programática.

Creación de una base de datos e inserción de datos

Aquí se muestra cómo crear una nueva base de datos e insertar datos 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

Consulta de datos

Puedes ejecutar consultas SQL y obtener 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

Búsqueda de texto completo

Habilita la búsqueda de texto completo en una tabla y ejecuta consultas de búsqueda:

# 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

Presentando IronPDF

sqlite utils Python (Cómo Funciona Para Desarrolladores): Figura 1 - IronPDF: La Biblioteca de PDF para Python

IronPDF es una poderosa biblioteca de Python diseñada para crear, editar y firmar PDFs usando HTML, CSS, imágenes y JavaScript. Ofrece un rendimiento de calidad comercial con un bajo uso de memoria. Las características clave son:

Conversión de HTML a PDF:

Convierte archivos HTML, cadenas HTML y URLs a PDFs. Por ejemplo, renderiza una página web como PDF utilizando el renderizador PDF de Chrome.

Soporte Multiplataforma:

Compatible con varias plataformas .NET, incluyendo .NET Core, .NET Standard y .NET Framework. Es compatible con Windows, Linux y macOS.

Edición y Firma:

Establece propiedades, añade seguridad con contraseñas y permisos, y aplica firmas digitales a tus PDFs.

Plantillas de Páginas y Configuración:

Puedes personalizar PDFs con encabezados, pies de página, números de página y márgenes ajustables. Además, soporta tamaños de papel personalizados y diseños responsivos.

Cumplimiento de Estándares:

Cumple con los estándares PDF, incluyendo PDF/A y PDF/UA, soporta codificación de caracteres UTF-8 y gestiona recursos como imágenes, CSS y fuentes.

Generar documentos PDF con IronPDF y Sqlite Utils

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

Explicación del código

Este script combina las funcionalidades del paquete SQLite-utils de Python y la biblioteca de IronPDF para gestionar una base de datos SQLite y generar un documento PDF. Lo siguiente es una explicación paso a paso de lo que hace el código:

  1. Inicialización de la Base de Datos:

    • Inicializa una base de datos SQLite llamada "mydatabase.db" usando SQLite-utils.
  2. Creación de Tablas:

    • Define un esquema de tabla con columnas id, name, y age.
    • Crea una tabla llamada "users" en la base de datos SQLite utilizando el esquema definido.
  3. Inserción de Datos:

    • Inserta múltiples registros en la tabla "users" usando SQLite-utils.
  4. Consulta de Datos:

    • Recupera todos los registros de la tabla "users" y crea una representación HTML de los datos.
  5. Generación de PDF:
    • Utiliza IronPDF para crear un documento PDF.
    • Construye contenido HTML para el documento PDF, incluyendo encabezados y datos de tabla recuperados de la base de datos SQLite.
    • Guarda el documento PDF generado como "DemoSqliteUtils.pdf."

En general, este script demuestra cómo aprovechar SQLite-utils para tareas de gestión de bases de datos como creación de tablas, inserción y consulta de datos, combinado con IronPDF para generar documentos PDF a partir de contenido dinámico obtenido de una base de datos SQLite en aplicaciones Python.

Resultado

sqlite utils Python (Cómo Funciona Para Desarrolladores): Figura 2 - Ejemplo de salida de consola

PDF

sqlite utils Python (Cómo Funciona Para Desarrolladores): Figura 3 - Ejemplo de salida PDF utilizando IronPDF para generar un informe

Licencia de IronPDF

IronPDF corre con la clave de licencia de Python. IronPDF para Python ofrece una clave de licencia de prueba gratuita para permitir a los usuarios probar sus extensas características antes de comprar.

Coloca la Clave de Licencia al inicio del script antes de utilizar el paquete IronPDF:

from ironpdf import License

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

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

Conclusión

SQLite-utils es una herramienta poderosa para trabajar con bases de datos SQLite. Ofrece tanto un CLI como una biblioteca de Python. Ya sea que necesites manipular datos rápidamente desde la línea de comandos o integrar operaciones de SQLite en tus aplicaciones Python, SQLite proporciona una solución flexible y fácil de usar.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más