SQL fluido sin riesgos de inyección: El QueryBuilder de wsqlite.
Formatear strings de SQL en Python es el camino más rápido a una fuga de datos. El QueryBuilder fluido de wsqlite te permite crear consultas con JOINs y agrupaciones con inmunidad total a inyecciones.
Así se implementa QueryBuilder Fluent SQL API en entornos reales con wsqlite:
from wsqlite.builders import QueryBuilder
from wsqlite.core.connection import get_connection
with get_connection("ecommerce.db") as conn:
results = (
QueryBuilder("users")
.select("users.id", "users.name", "COUNT(orders.id) as order_count")
.join("orders", "users.id = orders.user_id", "LEFT")
.where("users.status", "=", "active")
.group_by("users.id")
.having("order_count", ">", 5)
.order_by("order_count", "DESC")
.limit(10)
.execute(conn)
)
for row in results:
print(f"User: {row['name']} | Orders: {row['order_count']}")
Por qué wsqlite marca la diferencia:
- Define tablas de base de datos usando modelos Pydantic v2 estándar.
- Sincroniza columnas automáticamente al iniciar sin migraciones manuales.
- Connection pool seguro multihilo con modo WAL por defecto (+5.000 inserts/seg).
- Soporte completo síncrono y asíncrono con async/await.
¡Visita el repositorio en GitHub!
Top comments (1)