Python MySQL Excluir de por
Apagar registro
Você pode excluir registros de uma tabela existente usando a instrução "DELETE FROM":
Exemplo
Exclua qualquer registro em que o endereço seja "Mountain 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!: Observe a declaração:
mydb.commit()
. É necessário fazer as alterações, caso contrário, nenhuma alteração será feita na tabela.
Observe a cláusula WHERE na sintaxe DELETE: A cláusula WHERE especifica quais registros devem ser excluídos. Se você omitir a cláusula WHERE, todos os registros serão excluídos!
Evitar injeção de SQL
É considerado uma boa prática escapar os valores de qualquer consulta, também em instruções de exclusão.
Isso é para evitar injeções de SQL, que é uma técnica comum de hackers na Web para destruir ou usar indevidamente seu banco de dados.
O módulo mysql.connector usa o espaço reservado %s
para valores de escape na instrução delete:
Exemplo
Escape de valores usando o %s
método placeholder:
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")