Python

SQLAlchemy 2.0 — Basic Select

admin by @admin ADMIN
3d ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
The modern SQLAlchemy 2.0 style: typed Mapped[] columns, the new `select()` API, and Session.scalars() for clean row access. Replaces the legacy Query syntax.
Python
Raw
from sqlalchemy import create_engine, select, String
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, Session

class Base(DeclarativeBase): pass

class User(Base):
    __tablename__ = "users"
    id:    Mapped[int]  = mapped_column(primary_key=True)
    name:  Mapped[str]  = mapped_column(String(255))
    email: Mapped[str]  = mapped_column(String(255), unique=True)

engine = create_engine("sqlite:///app.db", echo=False)
Base.metadata.create_all(engine)

with Session(engine) as session:
    session.add_all([User(name="Alice", email="a@x.com"), User(name="Bob", email="b@x.com")])
    session.commit()

with Session(engine) as session:
    stmt = select(User).where(User.name.like("A%"))
    for u in session.scalars(stmt):
        print(u.id, u.name, u.email)
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.