Python MySQL Eliminar de por
Eliminar el registro
Puede eliminar registros de una tabla existente utilizando la declaración "DELETE FROM":
Ejemplo
Elimine cualquier registro donde la dirección sea "Montaña 21":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor =
mydb.cursor()
sql = "DELETE FROM customers WHERE address =
'Mountain 21'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
¡Importante!: Note la declaración:
mydb.commit()
. Es obligatorio realizar los cambios, de lo contrario no se realizan cambios en la tabla.
Observe la cláusula WHERE en la sintaxis DELETE: La cláusula WHERE especifica qué registros se deben eliminar. Si omite la cláusula WHERE, ¡se eliminarán todos los registros!
Prevenir la inyección de SQL
Se considera una buena práctica escapar los valores de cualquier consulta, también en declaraciones de eliminación.
Esto es para evitar inyecciones de SQL, que es una técnica común de piratería web 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 valores en la declaración de eliminación:
Ejemplo
Valores de escape usando el %s
método de marcador de posición:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address =
%s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")