TECH I.S.

Python MySQL Delete From By


レコードを削除

「DELETE FROM」ステートメントを使用して、既存のテーブルからレコードを削除できます。

住所が「Mountain 21」であるレコードをすべて削除します。

import mysql.connector mydb = mysql.connector.connect(   host="localhost",   user="<em>yourusername</em>",   password="<em>yourpassword</em>",   database="mydatabase" ) mycursor = mydb.cursor() sql = "DELETE FROM customers WHERE address = 'Mountain 21'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "record(s) deleted")
実行例 »

重要!:mydb.commit()というステートメントに注意してください。変更を行う必要があります。変更しない場合、テーブルは変更されません。

DELETE構文のWHERE句に注目してください。WHERE句は、削除するレコードを指定します。WHERE句を省略すると、すべてのレコードが削除されます。


SQLインジェクションを防ぐ

削除ステートメントでも、クエリの値をエスケープすることをお勧めします。

これは、データベースを破壊したり悪用したりする一般的なWebハッキング手法であるSQLインジェクションを防ぐためです。

mysql.connectorモジュールは、プレースホルダー%sを使用して、削除ステートメント内の値をエスケープします。

プレースホルダー%sメソッドを使用して値をエスケープします。

import mysql.connector mydb = mysql.connector.connect(   host="localhost",   user="<em>yourusername</em>",   password="<em>yourpassword</em>",   database="mydatabase" ) mycursor = mydb.cursor() sql = "DELETE FROM customers WHERE address = %s" adr = ("Yellow Garden 2", ) mycursor.execute(sql, adr) mydb.commit() print(mycursor.rowcount, "record(s) deleted")
実行例 »

プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細