sqlite3, a fondo en Python
Fábricas de filas, parámetros vinculados y la transacción como administrador de contexto.
import sqlite3
conn = sqlite3.connect(":memory:")
conn.row_factory = sqlite3.Row
conn.execute("CREATE TABLE runs (lang TEXT, tpm INTEGER)")
with conn:
conn.executemany("INSERT INTO runs VALUES (?, ?)",
[("python", 104), ("rust", 98)])
fila = conn.execute("SELECT * FROM runs WHERE lang = ?", ("rust",)).fetchone()
print(dict(fila), fila["tpm"])
try:
with conn:
conn.execute("INSERT INTO runs VALUES (?, ?)", ("malo", 1))
raise ValueError("cambié de opinión")
except ValueError:
pass
print(conn.execute("SELECT COUNT(*) FROM runs").fetchone()[0])
Cómo funciona
row_factory = sqlite3.Rowda filas tipo dict.- Siempre vincula parámetros; nunca formatees SQL con f-strings.
- La conexión como administrador de contexto confirma o revierte.
Palabras clave y builtins usados aquí
dictexceptpassprintraisetrywith
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 549
- Tokens
- 141
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 77 segundos.
Paso 4 de 4 en Medición e introspección; paso 38 de 41 en Herramientas de dominio.