[파이썬] SQLite 데이터 업데이트와 수정

SQLite는 경량의 관계형 데이터베이스 시스템으로, 데이터를 저장, 수정, 삭제, 검색하는 데 사용됩니다. 이번 블로그 포스트에서는 Python을 사용하여 SQLite 데이터베이스에서 데이터를 업데이트하고 수정하는 방법을 다루겠습니다.

1. SQLite 데이터베이스에 연결하기

SQLite 데이터베이스에 연결하려면 sqlite3 모듈을 사용해야 합니다. 다음과 같이 connect() 메서드를 사용하여 데이터베이스에 연결할 수 있습니다.

import sqlite3

conn = sqlite3.connect('database.db') 

위의 코드에서 'database.db'는 데이터베이스 파일의 경로와 파일 이름입니다. 파일이 존재하지 않으면 새로운 데이터베이스 파일이 생성됩니다.

2. 데이터 업데이트하기

데이터베이스에서 특정 테이블의 데이터를 업데이트하려면 UPDATE 쿼리를 사용해야 합니다. 다음은 execute() 메서드를 사용하여 데이터를 업데이트하는 예제입니다.

cursor = conn.cursor()

# 데이터베이스 테이블 업데이트
update_query = "UPDATE users SET email = 'newemail@example.com' WHERE id = 1"
cursor.execute(update_query)

# 변경사항 저장
conn.commit()

위의 예제에서는 users 테이블에서 id가 1인 레코드의 이메일 주소를 newemail@example.com으로 업데이트합니다. execute() 메서드를 사용해 업데이트 쿼리를 실행하고, commit() 메서드를 사용해 변경사항을 저장합니다.

3. 데이터 수정하기

SQLite 데이터베이스에서 데이터를 수정하려면 UPDATE 쿼리를 사용하는 방법과 특정 레코드의 값을 직접 수정하는 방법이 있습니다. 이 예를 통해 두 가지 방법을 살펴보겠습니다.

3.1. UPDATE 쿼리 사용하기

cursor = conn.cursor()

# 데이터베이스 테이블 수정
update_query = "UPDATE users SET age = 30 WHERE name = 'John'"
cursor.execute(update_query)

# 변경사항 저장
conn.commit()

위의 예제는 users 테이블에서 이름이 ‘John’인 사용자의 나이를 30으로 수정합니다.

3.2. 직접 값 수정하기

cursor = conn.cursor()
table_name = 'users'
column_name = 'age'
new_value = 25
condition_column = 'id'
condition_value = 1

# 트랜잭션 시작
conn.execute(f"BEGIN TRANSACTION")

# 데이터 직접 수정
update_query = f"UPDATE {table_name} SET {column_name} = ? WHERE {condition_column} = ?"
conn.execute(update_query, (new_value, condition_value))

# 트랜잭션 종료
conn.execute(f"COMMIT")

위의 예제에서는 users 테이블의 age 열에서 id가 1인 레코드의 값을 25로 직접 수정합니다. BEGIN TRANSACTION으로 트랜잭션을 시작하고, COMMIT으로 트랜잭션을 종료합니다. 이렇게 하면 데이터베이스의 일관성을 유지할 수 있습니다.

4. 데이터베이스 연결 종료하기

모든 작업을 마치고 데이터베이스 연결을 종료해야 합니다. 다음과 같이 close() 메서드를 사용하여 데이터베이스 연결을 종료하면 됩니다.

conn.close()

SQLite 데이터베이스에서 데이터를 업데이트하고 수정하는 방법에 대해 알아보았습니다. 이를 통해 Python을 사용하여 SQLite 데이터베이스의 내용을 유연하게 수정할 수 있게 되었습니다. 자신의 프로젝트나 애플리케이션에 SQLite를 사용한다면 이러한 기능을 적용해보세요!