학습목표 : 테이블 수정 삭제
- 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()
import sqlite3
# DB 생성(파일)
conn = sqlite3.connect("D:/##Python_Basic/resource/database.db")
# Cursor 생성
c = conn.cursor()
c.execute("UPDATE users SET username =? WHERE id =?", ('niceman', 2))
conn.commit()
c.execute("UPDATE users SET username = :name WHERE id = :id", {'name':'goodman', 'id':'5'})
# conn.commit() # 반드시 프로그램에 수정사항을 연동하기 위해서는 commit을 선언해야한다
c.execute("UPDATE users SET username = '%s' WHERE id ='%s'" %('badboy',3))
conn.commit() # 반드시 프로그램에 수정사항을 연동하기 위해서는 commit을 선언해야한다
# 중간 데이터 확인 01
for user in c.execute("SELECT * FROM users"):
print(user)
# Row DELETE 01
c.execute("DELETE FROM users WHERE id =?", (2,))
c.execute("DELETE FROM users WHERE id=:id", {'id':5})
c.execute("DELETE FROM users WHERE id = '%s'" %4)
# 테이블 전체 데이터 삭제
print("users db deleted : ", conn.execute("DELETE FROM users").rowcount, ' rows'
# 접속 해제
conn.close()