Tabela de atualização do Python MySQL
Atualizar Tabela
Você pode atualizar os registros existentes em uma tabela usando a instrução "UPDATE":
Exemplo
Substitua a coluna de endereço de "Valley 345" para "Canyon 123":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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, "record(s) affected")
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 UPDATE: A cláusula WHERE especifica qual registro ou registros devem ser atualizados. Se você omitir a cláusula WHERE, todos os registros serão atualizados!
Evitar injeção de SQL
É considerado uma boa prática escapar os valores de qualquer consulta, também em instruções de atualizaçã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 = "UPDATE customers SET address = %s
WHERE address = %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record(s)
affected")