PYTHON MYSQL DELETE FROM

Puede eliminar registros de una tabla existente usando la declaración «DELETE FROM«:

Ejemplo

Eliminar cualquier registro donde el país es «Colombia»:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="tu usuario",
  passwd="tu contraseña",
  database="tu bbdd"
)

mycursor = mydb.cursor()

sql = "DELETE FROM clientes WHERE Pais = 'Colombia'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, “record's deleted”)

Observe la declaración: mydb.commit (). Es necesario realizar los cambios, de lo contrario no se realizarán cambios en la tabla.

La cláusula WHERE especifica qué registros deben eliminarse. Si omite la cláusula WHERE, ¡todos los registros serán eliminados!

Prevenir la inyección de SQL

Se considera una buena práctica escapar de los valores de cualquier consulta, también en las declaraciones de eliminación. Esto es para evitar inyecciones de SQL, que es una técnica común de piratería para destruir o hacer un mal uso de su base de datos.

El módulo mysql.connector usa el marcador de posición% s para escapar de los valores en la declaración de eliminación:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="tu usuario",
  passwd="tu contraseña",
  database="tu bbdd"
)

mycursor = mydb.cursor()

sql = "DELETE FROM clientes WHERE direccion = %s"
adr = ("C/Mayor, 1", )

mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "record's deleted")