Python SQLite3 프로그래밍

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 의 sqlite3 모듈을 사용해 작업할 것입니다. SQLite 는 임베디드 시스템 및 모바일 애플리케이션에 자주 사용되는 인기 있는 경량 관계형 데이터베이스 관리 시스템 (Relational Database Management System, RDBMS) 입니다. 또한 소규모 웹 애플리케이션이나 작은 데이터베이스가 필요한 기타 프로젝트에도 일반적으로 사용됩니다.

이 랩에서는 SQLite 의 기본 사항과 Python 에서 SQLite 를 사용하는 방법을 다룰 것입니다. 먼저 SQLite 에 대한 간략한 개요를 살펴본 다음, 데이터베이스 생성, 데이터 삽입, 데이터 쿼리, 마지막으로 데이터 업데이트 및 삭제를 진행할 것입니다.

데이터베이스 생성

Python 에서 SQLite 를 사용하기 위한 첫 번째 단계는 새로운 데이터베이스를 생성하는 것입니다. 다음과 같이 sqlite3 모듈을 사용하여 새 데이터베이스를 생성할 수 있습니다.

import sqlite3

## Create a new database
conn = sqlite3.connect('example.db')

connect 함수는 지정된 데이터베이스가 존재하지 않는 경우 새 데이터베이스를 생성합니다. 데이터베이스가 이미 존재하는 경우, 해당 데이터베이스에 연결합니다. conn 변수는 데이터베이스에 대한 연결을 나타냅니다.

그런 다음 아래 명령을 실행합니다.

python3 sqlite3_programming.py

테이블 생성

새 데이터베이스를 생성한 후에는 데이터를 저장할 테이블을 생성할 수 있습니다. 다음은 테이블을 생성하는 예시입니다.

import sqlite3

## Create a new database
conn = sqlite3.connect('example.db')

## Create a new table
conn.execute('''CREATE TABLE users
             (id INTEGER PRIMARY KEY,
              name TEXT NOT NULL,
              email TEXT NOT NULL,
              age INTEGER);''')

## Commit the transaction
conn.commit()

이 코드는 id, name, email, age의 네 개의 열을 가진 users라는 새 테이블을 생성합니다. id 열은 기본 키 (primary key) 로, 각 행에 대해 고유하며 테이블의 각 행을 식별하는 데 사용됩니다.

그런 다음 아래 명령을 실행합니다.

python3 sqlite3_programming.py

데이터 삽입

테이블을 생성한 후에는 데이터를 삽입할 수 있습니다. 다음은 데이터를 삽입하는 예시입니다.

import sqlite3

## Create a new database
conn = sqlite3.connect('example.db')

## Insert data into the users table
conn.execute("INSERT INTO users (name, email, age) VALUES ('John Doe', 'john@example.com', 30)")
conn.execute("INSERT INTO users (name, email, age) VALUES ('Jane Doe', 'jane@example.com', 25)")

## Commit the transaction
conn.commit()

이 코드는 users 테이블에 두 개의 새로운 행을 삽입합니다. INSERT INTO 문은 테이블 이름과 테이블에 삽입할 값을 지정합니다.

그런 다음 아래 명령을 실행합니다.

python3 sqlite3_programming.py

데이터 쿼리

테이블에 데이터를 삽입한 후에는 데이터를 쿼리하여 검색할 수 있습니다. 다음은 데이터를 쿼리하는 예시입니다.

import sqlite3

## Create a new database
conn = sqlite3.connect('example.db')

## Query the users table
cursor = conn.execute("SELECT id, name, email, age from users")
for row in cursor:
    print(row)

## Commit the transaction
conn.commit()

이 코드는 users 테이블을 쿼리하고 각 행을 출력합니다. SELECT 문은 테이블에서 검색할 열을 지정합니다.

그런 다음 아래 명령을 실행합니다.

python3 sqlite3_programming.py

데이터 업데이트

UPDATE 문을 사용하여 테이블의 기존 데이터를 업데이트할 수도 있습니다. 다음은 데이터를 업데이트하는 예시입니다.

import sqlite3

## Create a new database
conn = sqlite3.connect('example.db')

## Update data in the users table
conn.execute("UPDATE users SET age = 40 WHERE name = 'Jane Doe'")

## Commit the transaction
conn.commit()

이 코드는 name'Jane Doe'인 행의 age 열을 업데이트합니다. UPDATE 문은 테이블 이름, 업데이트할 열 및 새 값을 지정합니다.

그런 다음 아래 명령을 실행합니다.

python3 sqlite3_programming.py

데이터 삭제

DELETE 문을 사용하여 테이블에서 데이터를 삭제할 수도 있습니다. 다음은 데이터를 삭제하는 예시입니다.

import sqlite3

## Create a new database
conn = sqlite3.connect('example.db')

## Delete data from the users table
conn.execute("DELETE FROM users WHERE name = 'Jane Doe'")

## Commit the transaction
conn.commit()

이 코드는 users 테이블에서 name'Jane Doe'인 행을 삭제합니다. DELETE FROM 문은 테이블 이름과 행 삭제 조건을 지정합니다.

그런 다음 아래 명령을 실행합니다.

python3 sqlite3_programming.py

요약

이 랩에서는 Python 에서 SQLite 를 사용하는 기본 사항을 다루었습니다. 데이터베이스 생성, 테이블 생성, 데이터 삽입, 데이터 쿼리, 마지막으로 데이터 업데이트 및 삭제로 시작했습니다. 코드 예제는 간단한 작업에서 더 복잡한 작업으로 진행되었습니다.

이 랩이 Python 프로젝트에서 SQLite 를 사용하는 방법을 이해하는 데 도움이 되었기를 바랍니다. 기억하세요, 이것은 시작일 뿐이며 SQLite 로 탐색할 수 있는 더 많은 고급 기능이 있습니다. 즐거운 코딩 되세요!