Passer au contenu du pied de page
AIDE PYTHON

sqlite utils Python (Comment ça marche pour les développeurs)

Le paquet Python SQLite-utils est un outil polyvalent qui contient des fonctions utilitaires Python pour travailler avec les bases de données SQLite. Il fournit une interface en ligne de commande (CLI) et une bibliothèque Python, facilitant la création, la manipulation et l'interrogation des bases de données SQLite. Voyons ses fonctionnalités et quelques exemples de code. Later in this article, we will explore IronPDF, a PDF generation library developed by Iron Software.

Aperçu de SQLite-utils

SQLite-utils est conçu pour simplifier diverses tâches liées à la manipulation des bases de données SQLite. Certaines de ses fonctionnalités clés incluent:

  • Création et gestion de bases de données : Créez facilement de nouvelles bases de données et tables.
  • Insertion et interrogation de données : Insérez des données JSON, des fichiers CSV ou TSV et exécutez des requêtes SQL.
  • Recherche en texte intégral : Configurez et exécutez des requêtes de recherche en texte intégral.
  • Transformations de schéma : Effectuez des modifications de schéma que l’ALTER TABLE de SQLite ne prend pas directement en charge.
  • Normalisation des données : Extraire des colonnes dans des tables séparées pour normaliser les données.
  • Fonctions SQL personnalisées : Installez des plugins pour ajouter des fonctions SQL personnalisées.

Installation

Vous pouvez installer SQLite-utils en utilisant pip :

pip install sqlite-utils
pip install sqlite-utils
SHELL

Ou, si vous utilisez Homebrew sur macOS :

brew install sqlite-utils
brew install sqlite-utils
SHELL

Utiliser SQLite-utils comme outil CLI

L'outil CLI vous permet de réaliser diverses opérations directement depuis la ligne de commande. Voici quelques exemples :

Création d'une base de données et insertion de données

Créons une nouvelle base de données SQLite et insérons des données à partir d'un fichier 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

Interroger les données

La commande ci-dessous est celle que vous utiliseriez pour exécuter une requête SQL à partir de la base de données :

# 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

Liste des tables

Listez toutes les tables de la base de données avec leur nombre de lignes :

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

Utiliser SQLite-utils comme bibliothèque Python

Vous pouvez également utiliser SQLite-utils comme bibliothèque Python pour interagir avec les bases de données SQLite de manière programmatique.

Création d'une base de données et insertion de données

Voici comment créer une nouvelle base de données et insérer des données en utilisant 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

Interroger les données

Vous pouvez exécuter des requêtes SQL et récupérer des résultats :

# 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

Recherche en texte intégral

Activez la recherche en texte intégral sur une table et exécutez des requêtes de recherche :

# 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

Présentation d'IronPDF

sqlite utils Python (Comment ça fonctionne pour les développeurs) : Figure 1 - IronPDF : La bibliothèque PDF Python

IronPDF est une bibliothèque Python puissante conçue pour créer, éditer, et signer des PDFs en utilisant HTML, CSS, des images, et JavaScript. Elle offre des performances de qualité commerciale avec une empreinte mémoire faible. Les fonctionnalités clés incluent :

Conversion HTML en PDF :

Convertissez des fichiers HTML, des chaînes HTML et des URLs en PDFs. Par exemple, vous pouvez rendre une page web en PDF en utilisant le moteur de rendu Chrome PDF.

Soutien multiplateforme :

Compatible avec diverses plateformes .NET, y compris .NET Core, .NET Standard et .NET Framework. Il prend en charge Windows, Linux et macOS.

Édition et signature :

Définissez des propriétés, ajoutez de la sécurité avec des mots de passe et des permissions, et appliquez des signatures numériques à vos PDFs.

Modèles de page et paramètres :

Vous pouvez personnaliser les PDF avec des en-têtes, pieds de page, numéros de page, et marges ajustables. Il supporte également des tailles de papier personnalisées et des mises en page adaptatives.

Conformité aux normes :

Se conforme aux normes PDF, y compris PDF/A et PDF/UA, prend en charge l'encodage de caractères UTF-8, et gère des ressources telles que des images, CSS, et polices.

Générer des documents PDF en utilisant IronPDF et 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

Explication du code

Ce script combine les fonctionnalités du paquet Python SQLite-utils et de la bibliothèque IronPDF pour gérer une base de données SQLite et générer un document PDF. Voici une explication pas à pas de ce que fait le code :

  1. Initialisation de la base de données :

    • Initialise une base de données SQLite nommée "mydatabase.db" en utilisant SQLite-utils.
  2. Création de table :

    • Définit un schéma de table avec les colonnes id, name, et age.
    • Crée une table nommée "users" dans la base de données SQLite en utilisant le schéma défini.
  3. Insertion de données :

    • Insère plusieurs enregistrements dans la table "users" en utilisant SQLite-utils.
  4. Requête de données :

    • Récupère tous les enregistrements de la table "users" et crée une représentation HTML des données.
  5. Génération de PDF :
    • Utilise IronPDF pour créer un document PDF.
    • Construit un contenu HTML pour le document PDF, y compris des en-têtes et des données de table récupérées de la base de données SQLite.
    • Enregistre le document PDF généré sous le nom "DemoSqliteUtils.pdf."

Dans l'ensemble, ce script démontre comment utiliser SQLite-utils pour des tâches de gestion de base de données telles que la création de table, l'insertion de données et l'interrogation, combinées à IronPDF pour générer des documents PDF à partir de contenu dynamique provenant d'une base de données SQLite dans des applications Python.

Sortie

sqlite utils Python (Comment ça fonctionne pour les développeurs) : Figure 2 - Exemple de sortie de console

PDF

sqlite utils Python (Comment ça fonctionne pour les développeurs) : Figure 3 - Exemple de sortie PDF utilisant IronPDF pour générer un rapport

Licence IronPDF

IronPDF fonctionne avec la clé de licence Python. IronPDF pour Python offre une clé de licence d'essai gratuite pour permettre aux utilisateurs de tester ses fonctionnalités étendues avant de l'acheter.

Placez la clé de licence au début du script avant d'utiliser le package IronPDF :

from ironpdf import License

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

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

Conclusion

SQLite-utils est un outil puissant pour travailler avec les bases de données SQLite. Il offre à la fois un CLI et une bibliothèque Python. Que vous ayez besoin de manipuler rapidement des données depuis la ligne de commande ou d'intégrer des opérations SQLite dans vos applications Python, SQLite fournit une solution flexible et facile à utiliser.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite