Python atualizar tabela

Atualizar tabela

Você pode usar a instrução "UPDATE" para atualizar registros existentes na tabela:

Exemplo

Substitua o valor "Valley 345" na coluna de endereço por "Canyon 123":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "registros afetados")

Executar exemplo

Importante:Por favor, observe a instrução mydb.commit()Precisa ser alterado, de outra forma, a tabela não terá nenhuma mudança.

Por favor, observe a cláusula WHERE na sintaxe UPDATE: A cláusula WHERE especifica os registros que devem ser atualizados. Se a cláusula WHERE for omitida, todos os registros serão atualizados!

Prevenir a injecção de SQL

É uma boa prática escapar qualquer valor consultado em uma instrução update.

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

O módulo mysql.connector usa suporte substitutivo %s Para escapar valores em uma instrução delete:

Exemplo

Use o método de suporte substitutivo %s para escapar valores:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = %s WHERE address =" %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "registros afetados")

Executar exemplo