SQLite 데이터베이스 생성하기

SQLite 데이터베이스 생성하기

Pandas
SQLite 데이터베이스 생성하기
Author

gabriel yang

Published

August 28, 2024

SQLite는 가볍고 간편한 파일 기반의 데이터베이스로, 설치가 필요 없이 쉽게 사용할 수 있는 장점이 있습니다.

이 글에서는 SQLite 데이터베이스를 생성하고 관리하는 방법을 단계별로 설명하겠습니다.

1. SQLite란 무엇인가?

SQLite는 서버가 필요 없는, 파일 기반의 데이터베이스 관리 시스템(DBMS)입니다. SQLite는 C 언어로 작성된 라이브러리로, 응용 프로그램에 내장되어 작동할 수 있습니다.

데이터베이스 파일은 단일 파일로 관리되며, 소규모 프로젝트나 임베디드 시스템, 테스트용 데이터베이스 등에 적합합니다.

2. SQLite 설치 및 환경 설정

SQLite는 기본적으로 대부분의 운영체제에 내장되어 있어 별도의 설치가 필요 없지만, 명령줄에서 사용하기 위해서는 SQLite CLI 도구를 설치할 수 있습니다.

2.1. SQLite CLI 설치 (선택 사항)

Windows

  1. SQLite 다운로드 페이지에서 “sqlite-tools” 패키지를 다운로드합니다.
  2. 다운로드한 ZIP 파일을 해제한 후, sqlite3.exe 파일을 원하는 위치에 복사합니다.
  3. 해당 디렉토리를 환경 변수 PATH에 추가하여 어디서든 명령어로 실행할 수 있도록 설정합니다.

macOS

macOS에서는 Homebrew를 사용하여 SQLite를 설치할 수 있습니다:

brew install sqlite

Linux

대부분의 리눅스 배포판에는 SQLite가 기본으로 설치되어 있지만, 설치되지 않은 경우 다음 명령어로 설치할 수 있습니다:

sudo apt-get install sqlite3

3. SQLite 데이터베이스 생성

SQLite 데이터베이스를 생성하는 방법은 매우 간단합니다. 명령줄에서 SQLite CLI를 사용하거나, Python과 같은 프로그래밍 언어를 통해 데이터베이스를 생성할 수 있습니다.

3.1. SQLite CLI를 사용하여 데이터베이스 생성

  1. 명령줄 또는 터미널 열기: SQLite CLI를 실행하려면 명령줄(cmd) 또는 터미널을 열어야 합니다.
  2. 데이터베이스 생성 명령 실행:
sqlite3 your_database.db

위 명령어를 실행하면 your_database.db라는 이름의 새로운 SQLite 데이터베이스 파일이 생성됩니다. 만약 파일이 이미 존재한다면, 해당 파일을 열어 사용할 수 있습니다.

  1. 데이터베이스 확인: 데이터베이스 파일이 생성된 위치에 .db 파일이 생성되었는지 확인합니다.

3.2. Python을 사용하여 데이터베이스 생성

Python에서 SQLite 데이터베이스를 생성하고 관리할 수 있습니다. Python의 sqlite3 모듈을 사용하면 쉽게 데이터베이스를 생성할 수 있습니다.

예제 코드: Python으로 SQLite 데이터베이스 생성

import sqlite3

# 데이터베이스 연결 (존재하지 않으면 새로 생성)
conn = sqlite3.connect('your_database.db')

# 커서 생성
cursor = conn.cursor()

# 간단한 테이블 생성 예제
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT UNIQUE NOT NULL
)
''')

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

# 연결 종료
conn.close()

print("SQLite 데이터베이스가 성공적으로 생성되었습니다.")
  • sqlite3.connect: 데이터베이스에 연결하거나 새로 생성합니다.
  • CREATE TABLE IF NOT EXISTS: 데이터베이스 내에 테이블을 생성합니다. 이미 존재하는 경우 테이블을 덮어쓰지 않습니다.
  • conn.commit: 변경 사항을 데이터베이스에 저장합니다.
  • conn.close: 데이터베이스 연결을 종료합니다.

4. SQLite 데이터베이스 구조 이해

SQLite 데이터베이스는 테이블, 인덱스, 트리거, 뷰 등으로 구성됩니다. 이를 통해 데이터를 효과적으로 관리할 수 있습니다.

4.1. 테이블 생성

SQLite에서 데이터를 저장하려면 먼저 테이블을 생성해야 합니다. 위의 Python 예제에서 이미 테이블을 생성했지만, 다음은 명령줄에서 테이블을 생성하는 방법입니다.

CREATE TABLE products (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    price REAL NOT NULL,
    quantity INTEGER NOT NULL
);

4.2. 데이터 삽입

데이터베이스에 데이터를 삽입하려면 INSERT 명령을 사용합니다.

INSERT INTO products (name, price, quantity) VALUES ('Laptop', 1200.00, 10);

4.3. 데이터 조회

데이터를 조회하려면 SELECT 명령을 사용합니다.

SELECT * FROM products;

이 명령을 실행하면 products 테이블에 있는 모든 데이터를 조회할 수 있습니다.

5. SQLite 데이터베이스 백업 및 복원

SQLite 데이터베이스 파일은 단일 파일로 관리되므로, 파일을 복사하는 것만으로도 쉽게 백업할 수 있습니다. 이를 통해 손쉽게 데이터베이스를 백업하고 복원할 수 있습니다.

5.1. 데이터베이스 백업

단순히 .db 파일을 복사하여 다른 위치에 저장하면 됩니다.

cp your_database.db your_database_backup.db

5.2. 데이터베이스 복원

복원하려면 백업된 파일을 원래 위치에 복사하여 덮어쓰면 됩니다.

cp your_database_backup.db your_database.db

6. 결론

SQLite는 간편하고 효율적인 데이터베이스 관리 도구로, 특히 소규모 프로젝트나 임베디드 시스템에서 유용합니다. SQLite 데이터베이스를 생성하고 관리하는 방법을 이해하면, 데이터 관리 작업이 훨씬 수월해집니다.

Python이나 CLI를 사용하여 SQLite 데이터베이스를 생성하고, 데이터를 저장하고 조회하는 방법을 익히면 데이터베이스 작업에 큰 도움이 될 것입니다.