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()
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
)
''')
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()
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)
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()
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()
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()
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)
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}")
Présentation d'IronPDF

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")
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.
-
Importer des bibliothèques :
sqlite3: Module intégré de Python pour travailler avec les bases de données SQLite.ironpdf: Importation de composants depuis IronPDF, qui permet la génération de PDF.
-
Connexion à la base de données :
- Établit une connexion à une base de données SQLite nommée
example.db.
- Établit une connexion à une base de données SQLite nommée
-
Création d'une table :
- Définit une table SQLite
usersavec les colonnesid(INTEGER, PRIMARY KEY),name(TEXT, NOT NULL) etage(INTEGER).
- Définit une table SQLite
-
Insertion de données :
- Insérer plusieurs lignes de données dans la table
users.
- Insérer plusieurs lignes de données dans la table
-
Validation des transactions :
- Valide les modifications à la base de données pour les rendre persistantes.
-
Requête sur la base de données :
- Exécute une instruction SELECT pour récupérer toutes les lignes de la table
users.
- Exécute une instruction SELECT pour récupérer toutes les lignes de la table
-
Mise à jour des données :
- Met à jour le
aged'un utilisateur nommé 'Alice'.
- Met à jour le
-
Suppression de données :
- Supprime un utilisateur nommé 'IronUser1' de la table
users.
- Supprime un utilisateur nommé 'IronUser1' de la table
-
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 le nom
DemoSqlite3.pdf.
- Utilise IronPDF (
- Fermeture des connexions :
- Ferme le curseur (
cur) et la connexion (conn) pour libérer les ressources.
- Ferme le curseur (
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


Licence IronPDF
IronPDF fonctionne avec une clé de licence. IronPDF for 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";
Conclusion

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 commence à $999 et au-delà.




