2020년 5월 26일 화요일

12. 파이썬 데이터베이스 연동 ( 테이블 수정, 삭제 )

학습목표 : 테이블 수정 삭제


  • UPDATE
  • DELETE
  • DB 사용 권장 이유

C - CREATE(생성) / R - RETRIEVE(조회) / U - UPDATE(수정) / D - DELETE (삭제)

SQLite를 활용하기 위한 설정 코드는 다음과 같이 작성한다.
import sqlite3

# DB 생성(파일)
conn = sqlite3.connect("D:/##Python_Basic/resource/database.db")

# Cursor 생성
c = conn.cursor()

데이터 수정 01
c.execute("UPDATE users SET username =? WHERE id =?", ('niceman'2))
conn.commit()
🔻반드시 DB browser에 변경된 데이터값을 연동하기 위해서는 commit()을 선언해 줘야한다.

데이터 수정 02 ( Dictionary 활용법 )
c.execute("UPDATE users SET username = :name WHERE id = :id", {'name':'goodman''id':'5'})
# conn.commit() # 반드시 프로그램에 수정사항을 연동하기 위해서는 commit을 선언해야한다

데이터 수정 03 ( %s 활용법 )
c.execute("UPDATE users SET username = '%s' WHERE id ='%s'" %('badboy',3))
conn.commit() # 반드시 프로그램에 수정사항을 연동하기 위해서는 commit을 선언해야한다

SQLite에 입력된 데이터를 보기 위한 코드는 다음과 같이 작성한다.
# 중간 데이터 확인 01
for user in c.execute("SELECT * FROM users"):
    print(user)

데이터 삭제 01 ( 기본 )
# Row DELETE 01
c.execute("DELETE FROM users WHERE id =?", (2,))

데이터 삭제 02 ( Dictionary 활용 )
c.execute("DELETE FROM users WHERE id=:id", {'id':5})

데이터 삭제 03 ( %s 활용 )
c.execute("DELETE FROM users WHERE id = '%s'" %4)

전체 데이터 삭제와 삭제된 행수를 알려주는 코드 작성법은 다음과 같다.
# 테이블 전체 데이터 삭제
print("users db deleted : ", conn.execute("DELETE FROM users").rowcount, ' rows'

🔻여기까지 코드를 실행했다면 테이블에 있는 데이터는 전부 삭제되어 데이터를 입력하는 단계에서부터 다시 시작해야 데이터를 활용한 코드들을 실행할 수 있다.

이번 포스트의 코드들은 [ with ]문을 활용하여 작성되어 있지 않았기 때문에 반드시 [ close ] 문을 작성해서 연결을 끊어줘야한다.
# 접속 해제
conn.close()









댓글 없음:

댓글 쓰기