typestar

Engine y text de SQLAlchemy en Python

El engine es dueño del pool de conexiones; text() corre SQL plano a través de él.

from sqlalchemy import create_engine, text

motor = create_engine("sqlite+pysqlite:///:memory:", echo=False)

with motor.begin() as conn:
    conn.execute(text("CREATE TABLE datos (lang TEXT, tpm INTEGER)"))
    conn.execute(text("INSERT INTO datos VALUES (:lang, :tpm)"),
                 [{"lang": "python", "tpm": 104}, {"lang": "rust", "tpm": 98}])

with motor.connect() as conn:
    rows = conn.execute(text("SELECT lang, tpm FROM datos ORDER BY tpm DESC"))
    print([tuple(row) for row in rows])
    uno = conn.execute(text("SELECT tpm FROM datos WHERE lang = :l"),
                       {"l": "rust"}).scalar_one()
    print(uno)

Cómo funciona

  1. create_engine toma una URL, no una conexión.
  2. begin da una transacción que confirma al salir.
  3. Los parámetros vinculados se nombran con dos puntos.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
574
Tokens
149
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 81 segundos.

Escribe este fragmento

Paso 1 de 5 en SQLAlchemy; paso 13 de 19 en Servicios web y acceso a datos.

← Anterior Siguiente →