SQLAlchemy 通讯录
from sqlalchemy import create_engine, Integer, String, select, delete
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, Session
class Base(DeclarativeBase):
pass
class Contact(Base):
tablename = "contacts"
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
name: Mapped[str] = mapped_column(String)
email: Mapped[str] = mapped_column(String)
engine = create_engine("sqlite:///contacts.db")
Base.metadata.create_all(engine)
with Session(engine) as session:
session.execute(delete(Contact))
session.add_all([
Contact(name="张三", email="zhangsan@example.com"),
Contact(name="李四", email="lisi@example.com"),
Contact(name="王五", email="wangwu@example.com"),
])
session.commit()
with Session(engine) as session:
contacts = session.scalars(select(Contact).order_by(Contact.id))
for contact in contacts:
print(f"{contact.id}. {contact.name} <{contact.email}>")

浙公网安备 33010602011771号