Python 更新表

更新表

您可以使用 "UPDATE" 语句来更新表中的现有记录:

Tukwani

把地址列中的 "Valley 345" 覆盖为 "Canyoun 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, "kashi(s) a yiwa waje")

Harci Tukwani

重要:请注意语句 mydb.commit()。需要进行更改,否则不会表不会有任何改变。

Rantici, kama a yi UPDATE 语法 dake WHERE kwanan: WHERE kwanan yana shi a yi ajiyawa a yin yi jiyin. Idan a yi kai WHERE kwanan, za'a yi ajiyawa za'a yi jiyin jiyin jiyin!

防止 SQL 注入

在 update 语句中,转义任何查询的值都是个好习惯。

Kuma ana amfani da wannan domin kare da SQL Injection, wanda shine tsarin ɗan hankali, wanda zai ɗauki kai ko a ɗauki amfani da bazin duniya.

Manufaɗi mysql.connector a amfani da wakilci %s domin kadaɗa jini delete ɗan:

Tukwani

Amfani da hanyar wakilci %s domin kadaɗa jini:

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, "kashi(s) a yiwa waje")

Harci Tukwani