python

SQLite python - table 속성 추가

jaeha_lee 2024. 1. 19. 00:44

SQLite에서 특정 행에 속성을 추가하는 것은 일반적으로 지원되지 않습니다. SQLite는 스키마가 고정된 관계형 데이터베이스이기 때문에 테이블을 생성할 때 컬럼을 정의하고, 이 컬럼들에 대한 값을 추가하는 방식을 사용합니다.

그러나 특정 행에 동적으로 속성을 추가하는 것이 필요하다면, 해당 속성을 나타내는 컬럼을 테이블에 추가하고 값을 설정하는 방법이 있습니다. 새로운 속성이 필요할 때마다 ALTER TABLE 문을 사용하여 테이블에 새로운 컬럼을 추가할 수 있습니다.

예를 들어, 다음은 특정 테이블에 새로운 속성을 추가하는 방법입니다:

import sqlite3

# SQLite 연결 및 커서 생성
connection = sqlite3.connect('your_database.db')
cursor = connection.cursor()

# 새로운 컬럼 추가
cursor.execute('ALTER TABLE your_table ADD COLUMN new_column TEXT')

# 특정 행에 값을 추가
cursor.execute('UPDATE your_table SET new_column = ? WHERE id = ?', ('new_value', 1))

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

# 연결 종료
connection.close()

위 코드에서 your_table은 대상 테이블의 이름, new_column은 추가할 속성의 이름입니다. 그 후에는 UPDATE 문을 사용하여 특정 행에 값을 설정할 수 있습니다.

그러나 이 방법은 테이블 구조를 변경하는 것이기 때문에, 특정 행마다 동적으로 속성을 추가하는 것이 유연한 데이터 모델을 만들기 위해 권장되지는 않습니다. 대신, 필요한 속성을 미리 컬럼으로 정의하고 값을 NULL 또는 기본값으로 두고, 필요할 때 해당 컬럼을 사용하도록 하는 것이 일반적인 방법입니다.