Python MySQL UPDATE TABLE
テーブルの更新
"UPDATE"ステートメントを使用して、テーブル内の既存のレコードを更新できます。
例
住所列を「Valley 345」から「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")
実行例 »重要!:mydb.commit()
というステートメントに注意してください。変更を行う必要があります。変更しない場合、テーブルは変更されません。
UPDATE構文のWHERE句に注意してください。WHERE句は、更新する必要があるレコードを指定します。WHERE句を省略すると、すべてのレコードが更新されます。
SQLインジェクションを防ぐ
updateステートメントでも、クエリの値をエスケープすることをお勧めします。
これは、データベースを破壊または悪用する一般的なWebハッキング手法であるSQLインジェクションを防ぐためです。
mysql.connectorモジュールは、プレースホルダー%s
を使用して、削除ステートメント内の値をエスケープします。
例
プレースホルダー%s
メソッドを使用して値をエスケープします。
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")
実行例 »プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。