typestar

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

  1. row_factory = sqlite3.Row da filas tipo dict.
  2. Siempre vincula parámetros; nunca formatees SQL con f-strings.
  3. La conexión como administrador de contexto confirma o revierte.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 4 de 4 en Medición e introspección; paso 38 de 41 en Herramientas de dominio.

← Anterior Siguiente →