Utilisation de l'expression DELETE

Dans le chapitre précédent, nous avons compris ce qu'un Updatel'expression fait. La prochaine expression que nous allons apprendre estDelete.

L'opération de suppression peut être réalisée en exécutant la méthode delete () sur l'objet de table cible comme indiqué dans l'instruction suivante -

stmt = students.delete()

Dans le cas de la table des étudiants, la ligne de code ci-dessus construit une expression SQL comme suit -

'DELETE FROM students'

Cependant, cela supprimera toutes les lignes de la table des étudiants. La requête DELETE est généralement associée à une expression logique spécifiée par la clause WHERE. L'instruction suivante montre où paramètre -

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

L'expression SQL résultante aura un paramètre lié qui sera remplacé lors de l'exécution lorsque l'instruction est exécutée.

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

L'exemple de code suivant supprimera ces lignes de la table des étudiants ayant le nom de famille comme '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()

Pour vérifier le résultat, actualisez la vue des données de la table des étudiants dans SQLiteStudio.