지난번에 python에서
MSSQL 에 접속하여
SELECT 하는 방법에 대해
정리를 해 보았습니다.
SELECT를 하였으면,
INSERT, UPDATE, DELETE 등도
당연히 따라올 수 있습니다.
그래서 이번에는 INSERT/UPDATE 등을 하는 방법을
정리해보고자 합니다.
소스는 지난번 SELECT 했던 것을
기반으로 진행하였습니다.
우선 INSERT를 해보도록 하겠습니다.
기본 소스는 그대로 쓰고
INSERT 하는 부분만 추가를 하였기 때문에
해당 부분만 소스는 적도록 하겠습니다.
소스는 다음과 같습니다.
cursor.execute("insert into test_member values ('iii', '원빈') ")
위와 같이 소스를 적용하였습니다.
전체 소스는 다음과 같습니다.
위처럼 작성하여 실행을 해보았습니다.
그랬더니 결과는 아래처럼 나왔습니다.
원래 없던 원빈이
나와지는 것을 볼 수 있습니다.
그래서 SSMS에서 조회를 해 보았습니다.
그랬더니 하늬까지 밖에 없고
원빈이 나오지 않았습니다.
제가 찾아보니깐
파이썬은 기본적으로는 오토커밋을 제공 안한다고 하네요.
뭐 설정이나 다른 방법을 통해
AUTO COMMIT를 하게 할 수 있긴 하더라고요.
그것도 나중에 정리해볼께요.
아무튼 저는 이런 오토커밋이 없는게 좋아요.
그래야 문제가 생기면 롤백을 할 수도 있으니깐요.
그래서 이번에는 COMMIT를 포함하여
다시 소스를 작성해 보았습니다.
소스는 아래처럼 작성하였습니다.
cursor.execute("insert into test_member values ('iii', '원빈') ") conn.commit()
위처럼 작성하여
전체 소스는 다음과 같습니다.
그래서 실행하였더니
다음과 같은 결과가 나왔습니다.
이 때의 결과는
아까 COMMIT이 없을 때와 동일하네요.
그럼 이제 SSMS에서
조회를 해 보아야죠.
SSMS에서 다시 SELECT를 해 보았습니다.
이번에는 원빈이 있는 것이
보여지네요.
COMMIT를 하여
DB에 반영이 된 것입니다.
그러니 AUTO COMMIT를 설정 안했다면
반드시 COMMIT를 해 주어야 합니다.
그럼 이번에는 UPDATE를 해보도록 하겠습니다.
INSERT나 거의 동일합니다.
쿼리문만 UPDATE로 변경된 것입니다.
소스는 다음과 같습니다.
cursor.execute("update test_member set member_name = '현빈' where id = 'iii' ") conn.commit()
UPDATE문을 작성하고
COMMIT를 넣었습니다.
전체 소스는 다음과 같습니다.
위처럼 작성을 하였습니다.
그래서 실행을 하여
아래처럼 결과가 나왔습니다.
원빈에서 현빈으로 바뀐 것을
확인할 수 있었습니다.
그러면 이제 SSMS에서
확인을 해보도록 하겠습니다.
SSMS에서 다시 SELECT를 해 보았습니다.
결과는 다음과 같습니다.
위처럼 현빈으로 바뀐 것을 확인할 수 있었습니다.
그러면 이제 커밋이 아닌
롤백을 하는 방법도
정리를 해보고자 합니다.
ROLLBACK를 하는 것도 간단합니다.
COMMIT처럼 ROLLBACK함수를
실행시키면 됩니다.
소스는 다음과 같습니다.
cursor.execute("update test_member set member_name = '원빈' where id = 'iii' ") conn.rollback()
위처럼 작성을 하였습니다.
전체 소스는 다음과 같습니다.
위처럼 ROLLBACK를 하도록 하였고
실행을 하였습니다.
그랬더니 결과는 아래처럼 나왔습니다.
현빈에서 바뀌지 않은 것을
확인할 수 있습니다.
그러면 SSMS에서 다시 조회를 해보았습니다.
위처럼 SSMS에서도 변경이 안된 것을
확인할 수 있었습니다.
이렇게 INSERT/UPDATE를 하고
COMMIT 및 ROLLBACK를
필요에 따라서 잘 쓰시면서
개발을 하면 좋을 것 같습니다.
이상으로 파이썬에서 INSERT/UDPATE 하고
커밋 및 롤백하는 방법이였습니다~
'컴퓨터관련 > Python' 카테고리의 다른 글
[python]파이썬에서 if문 사용하기 (0) | 2019.09.18 |
---|---|
[python]파이썬 변수 선언 및 사용 (0) | 2019.09.10 |
[python]파이썬 주석 (0) | 2019.09.03 |
[python]MS-SQL연동 및 SELECT 하기 (0) | 2019.08.30 |
[Python]Visual Studio Code 설치 및 한글패치 (0) | 2019.08.26 |