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
create_enginetoma una URL, no una conexión.beginda una transacción que confirma al salir.- Los parámetros vinculados se nombran con dos puntos.
Palabras clave y builtins usados aquí
asforprinttuplewith
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.
Paso 1 de 5 en SQLAlchemy; paso 13 de 19 en Servicios web y acceso a datos.