Python MySQL Delete From

Excluir registros

Você pode usar a sentença "DELETE FROM" para excluir registros de uma tabela existente:

Exemplo

Exclua qualquer registro com o endereço "Mountain 21":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="seuNomeDeUsuário",
  passwd="suaSenha",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Mountain 21'
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "registro(s) excluído(s)")

Executar Exemplo

Importante:Por favor, note a sentença mydb.commit()Precisa ser alterado, caso contrário, a tabela não terá nenhuma mudança.

Por favor, note a cláusula WHERE na sintaxe DELETE: A cláusula WHERE especifica quais registros devem ser excluídos. Se a cláusula WHERE for omitida, todos os registros serão excluídos!

Prevenir a injeção SQL

Escapar de qualquer valor consultado na declaração delete também é um bom hábito.

Esta medida é para evitar a injeção SQL, uma técnica comum de hacker, que pode danificar ou abusar do seu banco de dados.

O módulo mysql.connector usa marcadores de posição %s Para escapar de valores em uma declaração delete:

Exemplo

Uso de marcadores de posição %s Métodos para escapar de valores:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="seuNomeDeUsuário",
  passwd="suaSenha",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM clientes WHERE endereço =" %s"
adr = ("Jardim Amarelo 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "registro(s) excluído(s)")

Executar Exemplo