Python MySQL Delete From

기록을 삭제합니다

기존 테이블에서 기록을 삭제할 수 있는 "DELETE FROM" 문장을 사용할 수 있습니다:

예제

"Mountain 21" 주소의 모든 기록을 삭제합니다:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Mountain 21'
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "삭제된 레코드(들)")

인스턴스 실행

중요:문장을 주의하세요 mydb.commit()변경이 필요합니다. 그렇지 않으면 테이블에 어떤 변화도 없습니다.

DELETE 문법에서 WHERE 절을 주의하세요: WHERE 절은 어떤 기록을 삭제할지 지정합니다. WHERE 절을 생략하면 모든 기록이 삭제됩니다!

SQL注入을 방지

delete 문에서 모든 쿼리 값에 대한 인코딩도 좋은 습관입니다.

이는 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 = "DELETE FROM customers WHERE address =" %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "삭제된 레코드(들)")

인스턴스 실행