Python MySQL 업데이트 테이블
테이블 업데이트
"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 주입 방지
업데이트 문에서도 쿼리 값을 이스케이프하는 것이 좋습니다.
이는 데이터베이스를 파괴하거나 오용하는 일반적인 웹 해킹 기법인 SQL 주입을 방지하기 위한 것입니다.
mysql.connector 모듈은 자리 표시자를 사용 %s
하여 delete 문의 값을 이스케이프 처리합니다.
예시
%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")