본문 바로가기
프로그래밍/Python

파이썬 SQLite 데이터베이스를 사용해보자. (create/drop)

by _BlankSpace 2020. 1. 27.

보통 프로그래밍 언어를 사용하다 보면 데이터베이스는 필수일 것입니다. 간단하고 적은 데이터 량이면 파일로도 처리가 가능하겠지만, 조금 더 체계적으로 데이터를 정리하려면 데이터베이스를 이용해야 합니다.

 

저도 파이썬이란 언어를 사용하여 데이터를 관리해보려고 간단한 데이터베이스를 찾아보던 중, 쉽게 사용할 수 있는 SQLite를 사용하게 되었습니다. 일반적인 RDBMS에 비해서 중소규모에 적합한 데이터베이스라고 알려져 있거든요.

 

보통 SQLite는 서버와 같은 대규모보다는 응용 프로그램과 같이 가벼운 곳에서 사용하는 데이터베이스입니다. 그러므로, 간단한 파이썬 예제를 하면서 데이터베이스를 사용하고자 하는 분이라면 사용해보는 것도 좋을 것 같습니다.

 

# SQLite을 설치해보자.

사실, SQLite는 별도로 설치할 것이 없습니다. Python 2.5 이후부터는 스탠더드 라이브러리에 sqlite3 모듈이 포함되어 있거든요.

 

하지만, SQLite 관련 문서는 다운로드가 안되어있을 거예요. 그것은 아래 사이트에서 SQLite에 대해 찾아보시면 되겠습니다.

SQLite 링크 바로가기

 

SQLite Documentation

 

www.sqlite.org

 

# 파이썬에서 SQLite를 이용하여 데이터베이스를 사용해보자.

이제부터 파이썬에서 SQLite에서 제공하는 모듈을 이용하여 데이터베이스를 이용해보겠습니다.

보통, 데이터베이스는 크게 데이터베이스를 만들고, 테이블을 생성한 후에 데이터를 삽입/변경/삭제하는 게 대부분이라고 할 수 있습니다.

물론, 그 외에 데이터베이스에는 여러 설정들이 존재하지만, 이번 포스팅에서는 간단하게 데이터베이스를 이용하여 데이터 처리를 하는 방식에 대해서 다루는 것이므로 제외하겠습니다.

 

추가로 이번 포스팅에서는 전체적인 데이터베이스의 내용을 보기 위해서 DB Browser for SQLite를 이용할 것입니다.

해당 뷰어를 다운로드하려면 아래 링크를 참고해주세요.

DB Browser for SQLite 다운로드 바로가기

 

 

# 데이터베이스를 연결하자.

위에서 말한 것처럼, 데이터베이스를 먼저 생성해야 합니다.

세부적인 단계로는 sqlite3 모듈을 이용할 것이므로 먼저 불러옵니다. 이후에 db로 저장할 파일 또는 메모리를 설정하고 해당 커서를 이용하여 데이터를 관리합니다.

 

아래는 위의 단계를 코드로 정리한 것입니다. 아래 코드를 실행하면 "test.db"라는 파일이 생성되는 것을 확인할 수 있습니다.

import sqlite3 # sqlite3 모듈을 불러온다.

con = sqlite3.connect("test.db") # "test.db" 파일을 데이터베이스로 연결하여 사용한다.
#con = sqlite3.connect(":memory:") # 메모리를 데이터베이스로 이용한다.

cur = con.cursor() # 데이터베이스를 동작시키기 위한 커서를 생성한다.
con.close() # 연결할 데이터베이스를 종료한다.

 

# 테이블을 생성해보자.

데이터베이스는 만들었으니, 안에 테이블을 생성해보겠습니다. 일단 쿼리문에 대해서 기본 정도는 안다는 가정하에 설명하도록 하겠습니다.

간단하게 테이블을 생성하는 코드는 아래와 같습니다.

cur = con.cursor()
query = """create table TestData (
            no integer,
            title text,
            date date                
        )"""
cur.execute(query)

 

테이블을 생성하는 쿼리문은 "crete table 테이블명 (파라미터명 파라미터, ...)" 으로 이루어져 있습니다.

이러한 쿼리문을 실행하는 함수가 execute(쿼리문)입니다. 간단하죠?

 

그럼, 위에 코드를 실행해볼까요? 그럼 db 파일이 나올 텐데, 이것을 SQLite 뷰어로 보면 아래와 같습니다.

 

 

# 테이블을 삭제해보자.

위에서 테이블을 생성해봤으니 이제 삭제도 해봐야겠죠?

보통, 테이블을 삭제하려면 아래와 같은 쿼리문을 사용해야 합니다.

drop table TestData

 

테이블을 삭제하는 쿼리문은 그리 어렵지 않기 때문에 바로 관련 예제를 보도록 하겠습니다. 아래 예제는 위에서 테이블을 생성했던 예제에서 조금 더 추가한 것입니다.

 

import sqlite3

con = sqlite3.connect("test.db")
cur = con.cursor()

# 테이블 생성
query = """create table TestData (
            no integer,
            title text,
            date date                
        )"""
cur.execute(query)

# 테이블 삭제
cur.execute("drop table TestData")
con.close()

 

여기까지 파이썬에서 SQLite를 이용하여 데이터베이스를 생성하고 테이블 생성/삭제하는 법이었습니다.

 

저의 글이 도움이 되었다면, 공감 및 구독 버튼 눌러주시면 감사하겠습니다!

댓글