8.11. SQLAlchemy Core Delete

from sqlalchemy import delete

8.11.1. SetUp

from sqlalchemy import create_engine, MetaData, Table, Column
from sqlalchemy import Integer, String, Date, Numeric, Enum
from sqlalchemy import delete


engine = create_engine('sqlite:///:memory:', future=True)
metadata = MetaData()

astronaut = Table('astronaut', metadata,
    Column('id', Integer, primary_key=True),
    Column('firstname', String(50), nullable=False),
    Column('lastname', String(50), nullable=False),
    Column('agency', Enum('NASA', 'ESA', 'POLSA')),
    Column('birthdate', Date),
    Column('age', Integer),
    Column('height', Numeric(3,2)),
    Column('weight', Numeric(3,2)),
)

ASTRONAUTS = [
    {'firstname': 'Mark', 'lastname': 'Watney'},
    {'firstname': 'Melissa', 'lastname': 'Lewis'},
    {'firstname': 'Rick', 'lastname': 'Martinez'},
]

with engine.begin() as db:
    metadata.create_all(db)
    result = db.execute(astronaut.insert(), ASTRONAUTS)

8.11.2. Delete Statement

query = (
    delete(astronaut).
    where(astronaut.c.id == 3)
)

with engine.begin() as db:
    result = db.execute(query)

8.11.3. References