[파이썬] SQLite 테이블 생성과 스키마

SQLite는 휴대성과 간편성을 제공하는 경량의 관계형 데이터베이스 엔진입니다. Python에서 SQLite를 사용하여 테이블을 생성하고 스키마를 설정하는 방법을 알아보겠습니다.

SQLite3 모듈 설치하기

먼저, Python에서 SQLite를 사용하기 위해서는 sqlite3 모듈을 설치해야 합니다. 다음 명령을 사용하여 모듈을 설치하세요:

pip install sqlite3

데이터베이스 연결

SQLite 데이터베이스에 연결하기 위해 sqlite3.connect() 함수를 사용합니다. 아래는 데이터베이스 파일이름이 example.db인 새로운 데이터베이스에 연결하는 예제입니다:

import sqlite3

connection = sqlite3.connect('example.db')

테이블 생성

이제 데이터베이스에 테이블을 생성할 수 있습니다. CREATE TABLE 문을 사용하여 테이블을 생성하고, 각 열의 이름과 데이터 타입을 지정합니다. 예를 들어, 사용자 정보를 담을 users 테이블을 생성하는 방법은 다음과 같습니다:

connection.execute('''
    CREATE TABLE users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')

위의 예제에서는 users 테이블을 생성하며, id 열은 INTEGER 타입으로 기본키(primary key)로 설정되었습니다. name 열은 TEXT 타입이며, NULL 값을 허용하지 않습니다. age 열은 INTEGER 타입으로 설정되었지만, NULL 값을 허용합니다.

스키마 설정

테이블을 생성한 후에는 스키마를 설정할 수 있습니다. 스키마는 테이블의 열에 대한 제약 조건이나 기타 속성을 정의합니다. ALTER TABLE 문을 사용하여 테이블에 열을 추가하거나 삭제할 수 있습니다.

아래는 users 테이블에 새로운 열을 추가하는 예제입니다:

connection.execute('ALTER TABLE users ADD COLUMN email TEXT')

위의 예제에서는 email 열을 추가하였습니다. 열의 타입은 TEXT로 설정하였습니다.

데이터베이스 연결 종료

작업을 마친 후에는 항상 데이터베이스 연결을 종료해야 합니다. connection.close() 함수를 사용하여 연결을 닫을 수 있습니다:

connection.close()

위의 예제에서는 example.db 데이터베이스와의 연결을 종료합니다.

SQLite는 간단한 스키마와 휴대성이 필요한 작은 규모의 프로젝트에 이상적인 데이터베이스 엔진입니다. Python에서 SQLite를 사용하여 테이블 생성과 스키마 설정을 할 수 있는 간단한 예제를 살펴보았습니다. 이러한 기본 개념을 기반으로 SQLite를 활용하여 데이터베이스 관련 작업을 수행할 수 있습니다.