ComenzarEmpieza gratis

Borrar registros específicos

Usando una cláusula where(), puedes dirigir la sentencia delete para eliminar solo ciertos registros. Por ejemplo, Jason borró todas las filas de la tabla employees que tenían id 3 con la siguiente sentencia de borrado:

delete(employees).where(employees.columns.id == 3) 

Aquí vas a borrar TODAS las filas que tengan 'M' en la columna sex y 36 en la columna age. Hemos incluido código al principio que calcula el número total de estas filas. Es importante asegurarte de que este sea el número de filas que realmente borras.

Este ejercicio forma parte del curso

Introducción a las bases de datos en Python

Ver curso

Instrucciones del ejercicio

  • Crea una sentencia delete para eliminar datos de la tabla census. Guárdala como delete_stmt.
  • Añade una cláusula where a delete_stmt que contenga un and_ para filtrar las filas que tengan 'M' en la columna sex Y 36 en la columna age.
  • Ejecuta la sentencia de borrado.
  • Envia la respuesta para imprimir el rowcount de results, así como to_delete, que devuelve el número de filas que deberían borrarse. Ambos deben coincidir y esto es una comprobación importante.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Build a statement to count records using the sex column for Men ('M') age 36: count_stmt
count_stmt = select([func.count(census.columns.sex)]).where(
    and_(census.columns.sex == 'M',
         census.columns.age == 36)
)

# Execute the select statement and use the scalar() fetch method to save the record count
to_delete = connection.execute(count_stmt).scalar()

# Build a statement to delete records from the census table: delete_stmt
delete_stmt = ____

# Append a where clause to target Men ('M') age 36: delete_stmt
delete_stmt = delete_stmt.____(
    ____(census.columns.sex == ____,
         ____ == ____)
)

# Execute the statement: results
results = connection.execute(____)

# Print affected rowcount and to_delete record count, make sure they match
print(results.rowcount, to_delete)
Editar y ejecutar código