Usando DELETE Expression

En el capítulo anterior, hemos entendido qué Updatela expresión lo hace. La siguiente expresión que vamos a aprender esDelete.

La operación de eliminación se puede lograr ejecutando el método delete () en el objeto de la tabla de destino como se indica en la siguiente declaración:

stmt = students.delete()

En el caso de la tabla de estudiantes, la línea de código anterior construye una expresión SQL de la siguiente manera:

'DELETE FROM students'

Sin embargo, esto eliminará todas las filas de la tabla de estudiantes. Por lo general, la consulta DELETE está asociada con una expresión lógica especificada por la cláusula WHERE. La siguiente declaración muestra dónde parámetro -

stmt = students.delete().where(students.c.id > 2)

La expresión SQL resultante tendrá un parámetro vinculado que se sustituirá en tiempo de ejecución cuando se ejecute la instrucción.

'DELETE FROM students WHERE students.id > :id_1'

El siguiente ejemplo de código eliminará esas filas de la tabla de estudiantes que tienen el apellido como 'Khanna' -

from sqlalchemy.sql.expression import update
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///college.db', echo = True)

meta = MetaData()

students = Table(
   'students', meta, 
   Column('id', Integer, primary_key = True), 
   Column('name', String), 
   Column('lastname', String), 
)

conn = engine.connect()
stmt = students.delete().where(students.c.lastname == 'Khanna')
conn.execute(stmt)
s = students.select()
conn.execute(s).fetchall()

Para verificar el resultado, actualice la vista de datos de la tabla de estudiantes en SQLiteStudio.