목차
- MySQL 데이터 수정 구문
- 테이블 UPDATE - 데이터 수정
- SQL Injection 방지 - %s 자리표시자
※ 테이블 생성해 데이터 삽입 후, 실습 권장.
MySQL 데이터 수정 구문
WHERE 조건절 이용해 수정할 행을 선택 후, 컬럼 데이터 수정.
주의: WHERE 구문이 없으면 모든 레코드가 수정됨.
(예)
UPDATE hz_member SET mb_level = '100' WHERE mb_level = '10'
테이블 UPDATE - 데이터 수정
※ 10레벨을 100레벨로 변경.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="autoset",
database="hz"
)
mycursor = mydb.cursor()
sql = "UPDATE hz_member SET mb_level = '100' WHERE mb_level = '10'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
※ 주의1: mydb.commit() 없으면 변화가 반영 X
※ 주의2: 위처럼 하면 해킹 당할 수 있으니, 아래처럼 사용 권장.
SQL Injection 방지 - %s 자리표시자
%s 자리표시자 사용해 SQL Injection 방지.
[예제] 10레벨을 100레벨로 변경.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="autoset",
database="hz"
)
mycursor = mydb.cursor()
sql = "UPDATE hz_member SET mb_level = %s WHERE mb_level = %s"
level = ("100", "10")
mycursor.execute(sql, level)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")