Python MySQL Update

更新表

能夠使用「UPDATE」語句,更新表格內的現有記錄:python

示例mysql

將地址欄由「Valley 345」改寫爲「Canyoun 123」:web

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用戶名",
  passwd="你的密碼",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, " 條記錄已更新")

注意: 數據庫修改後,須要使用mydb.commit()語句提交,不提交,修改不會生效。sql

注意UPDATE語句中的WHERE子句: WHERE子句指定應該更新哪些記錄。若是省略WHERE子句,將更新全部記錄!數據庫

防止SQL注入

在update語句中,爲了防止SQL注入,一般應該轉義查詢值。spa

SQL注入是一種常見的web黑客技術,用於破壞或誤用數據庫。code

mysql.connector 模塊有方法能夠轉義查詢值:it

示例class

使用佔位符%s方法轉義查詢值:import

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用戶名",
  passwd="你的密碼",
  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, " 條記錄已更新")
相關文章
相關標籤/搜索