Pythonでテーブル更新
- 前のページ MySQL ターブルを削除
- 次のページ MySQL Limit
テーブル更新
「UPDATE」文を使用してテーブルの既存レコードを更新できます:
例
地址列の「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, "記録(件)影響を受けました")
重要:文に注意してください mydb.commit()
変更が必要でないと、テーブルに何も変わらないでしょう。
UPDATE 语法の WHERE 子句に注意してください:WHERE 子句は更新すべきレコードを指定します。WHERE 子句を省略すると、すべてのレコードが更新されます!
SQL インジェクションを防ぐ
update ステートメントでは、どんなクエリの値もエスケープすることは良い習慣です。
これは SQL インジェクションを防ぐためです。これは一般的なネットワークハッキング技術であり、データベースを破壊または悪用する可能性があります。
mysql.connector モジュールは占位符を使用 %s
delete ステートメントの値をエスケープするために:
例
値をエスケープするための占位符 %s メソッドを使用します:
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, "記録(件)影響を受けました")
- 前のページ MySQL ターブルを削除
- 次のページ MySQL Limit