sqlite3 Python (Cómo Funciona Para Desarrolladores)
El módulo sqlite3 en Python ofrece una manera de interactuar con bases de datos SQLite. Es parte de la Biblioteca Estándar de Python, por lo que no necesitas instalar nada extra para usarlo. Vamos a explorar 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.
SQLite es una base de datos ligera, basada en disco que no requiere un proceso de servidor de base de datos separado. El módulo sqlite3 proporciona un entorno compatible con la interfaz SQL para interactuar con una base de datos existente o una base de datos recién creada sin problemas. El módulo aplica la especificación DB-API 2.0 descrita por PEP 249.
Uso básico
Aquí hay un ejemplo simple y múltiples instrucciones SQL para comenzar con sqlite3.
Conexión a una base de datos
Primero, necesitarás conectarte a tu base de datos SQLite. Si el archivo de la base de datos falta, será generado:
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()Creación de una tabla
Usa la instrucción SQL CREATE TABLE para crear una nueva tabla de datos:
# 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
)
''')Inserción de datos
Aquí está cómo insertar datos en la tabla de la base de datos:
# 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()Consulta de datos
Puedes ejecutar comandos SQL y obtener resultados de la tabla de la base de datos:
# 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)Actualización de datos
Para actualizar datos existentes en la tabla:
# 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()Borrado de datos
Para eliminar datos de las filas de la base de datos donde el nombre es 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()Cerrando la conexión
Recuerda cerrar tanto el cursor como la conexión cuando termines:
# Close the cursor and connection
cur.close()
conn.close()# Close the cursor and connection
cur.close()
conn.close()Características avanzadas
Uso de gestores de contexto
Puedes usar gestores de contexto para manejar el cierre automático de la conexión:
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)Gestión de transacciones
SQLite admite transacciones, y puedes usar BEGIN, COMMIT y ROLLBACK para gestionarlas:
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}")Presentando IronPDF

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:
Personaliza PDFs con encabezados, pies de página, números de página y márgenes ajustables. Admite diseños responsivos y tamaños de papel personalizados.
Cumplimiento de Estándares:
Cumple con los estándares PDF como PDF/A y PDF/UA, soporta la codificación de caracteres UTF-8, y gestiona activos como imágenes, CSS y fuentes.
Generar documentos PDF con IronPDF y 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")Explicación del código
Este programa de Python demuestra cómo usar la biblioteca SQLite para crear una base de datos, insertar datos en ella, realizar consultas, actualizar registros, eliminar registros y finalmente generar un documento PDF usando IronPDF.
Importando Bibliotecas:
sqlite3: Módulo incorporado de Python para trabajar con bases de datos SQLite.ironpdf: Importando componentes de IronPDF, que permite la generación de PDF.
Conectándose a la Base de Datos:
- Establece una conexión a una base de datos SQLite llamada
example.db.
- Establece una conexión a una base de datos SQLite llamada
Creando una Tabla:
- Define una tabla SQLite
userscon columnasid(INTEGER, PRIMARY KEY),name(TEXT, NOT NULL), yage(INTEGER).
- Define una tabla SQLite
Insertando Datos:
- Inserta múltiples filas de datos en la tabla
users.
- Inserta múltiples filas de datos en la tabla
Cometiendo Transacciones:
- Realiza los cambios en la Base de Datos para hacerlos persistentes.
Consultando la Base de Datos:
- Ejecuta una instrucción SELECT para recuperar todas las filas de la tabla
users.
- Ejecuta una instrucción SELECT para recuperar todas las filas de la tabla
Actualizando Datos:
- Actualiza el
agede un usuario llamado 'Alice'.
- Actualiza el
Eliminando Datos:
- Elimina un usuario llamado 'IronUser1' de la tabla
users.
- Elimina un usuario llamado 'IronUser1' de la tabla
Generando PDF:
- Usa IronPDF (
ChromePdfRenderer) para crear un documento PDF a partir del contenido HTML. - Combina el encabezado y los datos de la tabla (recuperados de la base de datos) en el contenido HTML.
- Guarda el documento PDF como
DemoSqlite3.pdf.
- Usa IronPDF (
- Cerrando Conexiones:
- Cierra el cursor (
cur) y la conexión (conn) para liberar recursos.
- Cierra el cursor (
Este script demuestra un flujo de trabajo completo desde la configuración de la base de datos hasta la manipulación de datos y la generación de PDF usando las bibliotecas SQLite3 e IronPDF de Python.
Resultado


Licencia de IronPDF
IronPDF funciona con una clave de licencia. IronPDF para Python ofrece una clave de licencia de prueba gratuita para permitir a los usuarios probar sus amplias características antes de la compra.
Coloca la Clave de Licencia aquí:
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";Conclusión

El módulo sqlite3 es una herramienta poderosa y fácil de usar para trabajar con bases de datos SQLite en Python. Su integración en la Biblioteca Estándar de Python hace que las operaciones simples y complejas de base de datos sean convenientes. El IronPDF ofrece una licencia de prueba. Posteriormente, la licencia empieza en $799 y más.










