[패스트캠퍼스python] 테이블 데이터의 수정 및 삭제

파이썬 인강 : 테이블 데이터의 수정 및 삭제

데이터베이스 다루기의 기본 명령어 CRUD를 알아야한다

  • C : Create
  • R : Retrieve 조회
  • U : Update 수정
  • D : Delete

1. 데이터베이스 사용 기본 3가지 명령어

데이터베이스를 사용할때 기본이 되는 3가지 명령어가 있다

1
2
3
4
5
6
7
8
# 1. SQLITE 불러오기
import sqlite3

# 2. DB생성(파일)
conn = sqlite3.connect('C:/Users/ratia/Documents/코딩/Fastcampus Python/Python/db/database.db')

# 3. Cursor연결
c = conn.cursor()

무엇을 하든지 위의 3가지는 기본으로 깔고 시작해야한다

2. 데이터 수정

데이터 수정 명령어에는 크게 3가지가 있다
다양한 방법으로 1번로우의 username을 kim에서 seo로 바꾸어보자

1
2
3
4
5
6
7
8
9
10
11
# 1. 데이터 수정1
c.execute("UPDATE users SET username = ? WHERE id = ?", ('seo', 1))
conn.commit()

# 2. 데이터 수정2 : 딕셔너리형태로 수정
c.execute("UPDATE users SET username = :name WHERE id = :id", {"name": 'seo', 'id': 1})
conn.commit()

# 3. 데이터 수정3 : 스트링포맷로 수정
c.execute("UPDATE users SET username = '%s' WHERE id = '%s'" % ('seo', 1))
conn.commit()

3. DB Browser for SQLite를 이용한 데이터 수정

DB Browser for SQLite를 이용해서 손쉽게 데이터를 수정할수도있다
아래 이미지에서 1번 로우의 username을 seo에서 so로 바꾸어보자

  1. 먼저 데이터보기탭에서 username을 더블클릭한 뒤 오른편 인풋창에 so로 바꿔준 후 적용을 클릭한다

  1. 까먹지말고 꼭 SQL실행탭에서 commit을 입력 후 run버튼을 누른다

  2. 아래 터미널에 질의가 성공적으로 실행되었다는 안내메세지가 나타나면 끝!

  1. 수정이 잘되었는지 확인을 위해 아래 명령어를 출력하면 수정이 잘되었음을 확인할 수 있다
1
2
3
4
5
6
7
# 1. 수정한 로우만 확인
c.execute("SELECT * FROM users WHERE id= :Id", {"Id": 1})
print('수정 잘 되었는 감?', c.fetchone())

# 2. 수정한 로우포함 전체 데이터확인
for user in c.execute('SELECT * FROM users'):
print(user)

4. 데이터 삭제

데이터 삭제에도 다양한 방법이 있다

  1. 한 줄 데이터삭제 방법
    먼저 한줄데이터를 삭제해보자
    다음 세가지는 2번째 줄 전체를 삭제하는 명령어이다
1
2
3
4
5
6
7
8
9
10
11
# 1. Row Delete1 #튜플형식
c.execute("DELETE FROM users WHERE id = ?", (2,))
conn.commit()

# 2. Row Delete2 #딕셔너리형식
c.execute("DELETE FROM users WHERE id = :id", {'id': 2})
conn.commit()

# 3. Row Delete3 #스트링포맷
c.execute("DELETE FROM users WHERE id = '%s'" % 2)
conn.commit()
  1. 테이블 전체 데이터 삭제
    이번에는 테이블 전체를 삭제해보자
    간단한 명령어지만 위험하니… 신중히 사용하자 ㅋㅋㅋㅋㅋ
1
print("users db deleted : ", conn.execute("delete from users").rowcount, "rows")