Passer au contenu du pied de page
AIDE PYTHON

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

Le module sqlite3 en Python offre un moyen d'interagir avec les bases de données SQLite. Il fait partie de la bibliothèque standard de Python, vous n'avez donc pas besoin d'installer quoi que ce soit d'extra pour l'utiliser. Explorons ses fonctionnalités et voyons quelques exemples de code. Plus tard dans cet article, nous explorerons IronPDF, une bibliothèque de génération de PDF développée par Iron Software.

SQLite est une base de données légère, basée sur disque, qui ne nécessite pas de processus de serveur de base de données distinct. Le module sqlite3 fournit un environnement conforme à l'interface SQL pour interagir de manière transparente avec une base de données existante ou nouvellement créée. Le module applique la spécification DB-API 2.0 décrite par PEP 249.

Utilisation de base

Voici un exemple simple et plusieurs instructions SQL pour vous familiariser avec sqlite3.

Connexion à une base de données

Premièrement, vous devez vous connecter à votre base de données SQLite. Si le fichier de base de données est manquant, il sera généré :

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

Création d'une table

Utilisez l'instruction SQL CREATE TABLE pour créer une nouvelle table de données :

# 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

Insertion de données

Voici comment insérer des données dans la table de la base de données :

# 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

Requêtes de données

Vous pouvez exécuter des commandes SQL et récupérer des résultats de la table de la base de données :

# 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

Mise à jour des données

Pour mettre à jour des données existantes dans la table :

# 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

Suppression des données

Pour supprimer des données dans les lignes de la base de données où le nom est 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

Fermeture de la connexion

N'oubliez pas de fermer à la fois le curseur et la connexion lorsque vous avez terminé :

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

Les fonctionnalités avancées

Utilisation des gestionnaires de contexte

Vous pouvez utiliser des gestionnaires de contexte pour gérer la fermeture automatique de la connexion :

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

Gestion des transactions

SQLite prend en charge les transactions, et vous pouvez utiliser BEGIN, COMMIT et ROLLBACK pour les gérer :

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

Présentation d'IronPDF

sqlite3 Python (Fonctionnement pour les développeurs) : Figure 1 - IronPDF : La bibliothèque Python PDF

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 :

Personnalisez les PDFs avec des en-têtes, des pieds de page, des numéros de page et des marges ajustables. Il prend en charge les mises en page réactives et les tailles de papier personnalisées.

Conformité aux normes :

Il est conforme aux normes PDF comme PDF/A et PDF/UA, prend en charge le codage des caractères UTF-8, et gère des ressources telles que les images, CSS et polices.

Générer des documents PDF à l'aide d'IronPDF et SQLite3 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

Explication du code

Ce programme Python montre comment utiliser la bibliothèque SQLite pour créer une base de données, y insérer des données, effectuer des requêtes, mettre à jour des enregistrements, supprimer des enregistrements, et enfin générer un document PDF en utilisant IronPDF.

  1. Importation des bibliothèques :

    • sqlite3 : module intégré de Python pour travailler avec les bases de données SQLite.
    • ironpdf : Importation de composants d'IronPDF, qui permet la génération de PDF.
  2. Connexion à la base de données :

    • Établit une connexion à une base de données SQLite nommée example.db.
  3. Création d'une table :

    • Définit une table SQLite users avec les colonnes id (INTEGER, PRIMARY KEY), name (TEXT, NOT NULL), et age (INTEGER).
  4. Insertion de données :

    • Insère plusieurs lignes de données dans la table users.
  5. Validation des transactions :

    • Valide les modifications à la base de données pour les rendre persistantes.
  6. Requête sur la base de données :

    • Exécute une instruction SELECT pour récupérer toutes les lignes de la table users.
  7. Mise à jour des données :

    • Met à jour l'age d'un utilisateur nommé 'Alice'.
  8. Suppression de données :

    • Supprime un utilisateur nommé 'IronUser1' de la table users.
  9. Génération de PDF :

    • Utilise IronPDF (ChromePdfRenderer) pour créer un document PDF à partir de contenu HTML.
    • Combine les données d'en-tête et de table (récupérées de la base de données) dans le contenu HTML.
    • Enregistre le document PDF sous DemoSqlite3.pdf.
  10. Fermeture des connexions :
    • Ferme le curseur (cur) et la connexion (conn) pour libérer des ressources.

Ce script démontre un flux de travail complet depuis la configuration de la base de données jusqu'à la manipulation des données et la génération de PDF en utilisant les bibliothèques SQLite3 et IronPDF de Python.

Sortie

sqlite3 Python (Fonctionnement pour les développeurs) : Figure 2 - Exemple de sortie console

PDF

sqlite3 Python (Fonctionnement pour les développeurs) : Figure 3 - Exemple de sortie PDF généré avec IronPDF et sqlite pour interroger des données

Licence IronPDF

IronPDF fonctionne avec une clé de licence. IronPDF pour Python propose une clé de licence d'essai gratuite pour permettre aux utilisateurs de tester ses nombreuses fonctionnalités avant achat.

Placez la clé de licence ici :

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

Conclusion

sqlite3 Python (Fonctionnement pour les développeurs) : Figure 4 - Page de licence IronPDF

Le module sqlite3 est un outil puissant et facile à utiliser pour travailler avec les bases de données SQLite en Python. Son intégration dans la bibliothèque standard de Python rend les opérations sur les bases de données simples et complexes pratiques. Le IronPDF offre une licence d'essai. Ensuite, la licence démarre à $799 et plus.

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