본문 바로가기
Python

Python에서 SQLite 데이터 수정하기(UPDATE문)

by 고체물리학 2021. 10. 26.

2021.09.13 - [Python] - Python에서 SQLite 사용 & 연동하기/파이썬 DB사용하기

 

1. UPDATE 명령문은 DB 테이블에서 데이터를 갱신할 때 사용한다

2. 테이블에 존재하지 않는 열의 이름을 사용하면 에러가 나서 실행되지 않는다

UPDATE SET 구문

 

 - UPDATE 테이블명 SET 열 = 값 WHERE 조건식 (값을 한개만 변경할시)
 - UPDATE 테이블명 SET 열1 = 값, 열2 = 값,... WHERE 조건식 (값을 여러개 변경 할 경우)

※ WHERE 생략 시 모든 테이블의 행이 갱신된다

 

ex1) test_table의 테이블에서 int_test의 열의 값이 1인 경우 data값을 "change"로 변경

 

변경하기전 테이블 값

 

파이썬에 update 함수 작성

    def Update_Data(self,CoulmnName,Data):
        try:
            sql = "UPDATE test_table SET data =? Where int_test = ?"
            data = (Data,CoulmnName)
            self.Cur.execute(sql,data)
            self.con.commit()
            print("Success")
        except Exception as e:
            print('error:', e)

 

함수값 CoulName에 1, 변경할 Data에 "chage"를 입력

if __name__ == '__main__':
    SQL = Test()
    SQL.Update_Data(1,"change")

: UPDATE test_table SET data = "change" Where int_test = 1 인 sql문이 commit 된다

 

변경한 뒤 테이블 값

 

 

ex2) test_table의 테이블에서 int_test의 열의 값이 1인 경우 data값을 "change"로 string_test값을 "string_change"로 변경

    def Update_Data(self,CoulmnName,Data1,Data2):
        try:
            sql = "UPDATE test_table SET data =?,string_test=? Where int_test = ?"
            data = (Data1,Data2,CoulmnName)
            self.Cur.execute(sql,data)
            self.con.commit()
            print("Success")
        except Exception as e:
            print('error:', e)

 

함수값 CoulName에 1, 변경할 Data1에 "change" Data2 값을 "string_change"이 치환된다

if __name__ == '__main__':
    SQL = Test()
    SQL.Update_Data(1,"change","string_change")

: UPDATE test_table SET data = "change",string_test="string_change" Where int_test = 1을 commit

 

변경한 뒤 테이블 값

 

 

 

 

 

 

반응형

댓글