본문 바로가기
Development/Python

[Python] 파이썬 SQLite 모듈 사용 방법

by 선인장 🌵 2022. 3. 9.
728x90
728x90

파이썬 SQLite 모듈 사용 방법

개발을 하다 보면 수많은 DataBase(데이터베이스)를 사용하게 된다.

여러 MySQL, MSSQL, PostgreSQL 등 여러 DataBase가 있지만, 그중 가볍게 사용 가능한 SQLite DB를 이용하는 방법을 알아보도록 하자.

[Python] 파이썬 SQLite 모듈 사용 방법

1. SQLite

일단 SQLite가 어떤 건지 먼저 알아보도록 하자.

SQLite는 작고 빠르며 독립적인 고신뢰성, 완전한 기능을 갖춘 SQL 데이터베이스 엔진을 구현하는 C 언어 라이브러리이다.

SQLite는 세계에서 가장 많이 사용되는 데이터베이스 엔진이며, 많은 휴대폰과 대부분의 컴퓨터, 많은 애플리케이션에 내장되어 매일 수많은 사람들이 사용한다.

SQLite 파일 형식은 안정적이고 여러 플랫폼 간 호환되며 이전 버전과도 큰 문제없이 호환된다.

 

SQLite Home Page

SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bu

sqlite.org

또한 SQLite 개발자는 2050년까지 이 형식을 유지할 것을 약속하였으며, SQLite 소스 코드는 모든 사람이 어떤 목적으로든 무료로 사용할 수 있도록 제공하고 있다.

 

Long Term Support

Stable, Cross-platform Database Files → SQLite database files are bit-for-bit identical on 32-bit, 64-bit, big-endian, and little-endian platforms. You can copy an SQLite database file from one system to another without having to translate or convert the

sqlite.org

 

SQLite: Documentation

SQLite Source Repository This repository contains the complete source code for the SQLite database engine. Some test scripts are also included. However, many other test scripts and most of the documentation are managed separately. Version Control SQLite so

sqlite.org

728x90

2. SQLite3 모듈을 이용한 사용 방법

2.1 DB 연결하기

connect 함수를 이용하여 새롭게 생성할 DB 혹은 사용할 DB를 SQLite를 통해서 연결해보도록 하자.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlite3

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

2.2 DB Table 생성하기

연결한 DB에 신규 Table을 생성해보도록 하자.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlite3

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

cur = con.cursor()

# 테이블 생성
cur.execute("CREATE TABLE lang (name, first_appeared)")

# DB Commit
con.commit()

# DB Close
con.close()

2.3 Insert 하기

생성한 Table에 데이터 Insert를 해보도록 하자.

한 가지 데이터만 Insert 하는 경우 직접적으로 Value를 넣고 execute 함수를 통해서 Insert를 할 수 있다.

또한, 여러 데이터를 넣을 때는 데이터를 List화 하여 executemany 함수를 통해서 한 번에 Insert를 할 수 있다.

여기서 Insert 하는 방법이 여러 가지임에 따라 사용 용도 맞게 사용하게 좋을 것 같다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlite3

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

cur = con.cursor()

# 테이블 데이터 Insert
cur.execute("INSERT INTO lang VALUES ('C', 1972)")

# 테이블 데이터 Multiple Insert
insert_list = [
    ("Fortran", 1957),
    ("Python", 1991),
    ("Go", 2009),
]
cur.executemany("INSERT INTO lang VALUES (?, ?)", insert_list)

# DB Commit
con.commit()

# DB Close
con.close()

2.4 Select 하기

이제 Table에서 데이터를 Select를 해보도록 하자.

이때 fetchone(), fetchall() 두 개의 함수를 통해서 데이터를 가지고 올 수 있다.

함수명에서도 쉽게 알 수 있듯이 fetchone()는 단일 데이터를 가지고 오고, fetchall()는 Select에 사용된 모든 데이터를 가지고 오게 된다.

그러니 상황에 맞게 Select 쿼리문을 사용하면서 그에 맞게 함수를 사용하여 데이터를 가지고 오도록 해야 한다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlite3

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

cur = con.cursor()

# Select DB:
cur.execute("SELECT * FROM lang")

# One
print("한개 데이터 출력 : {data}".format(data=cur.fetchone()))
# All
print("모든 데이터 출력 : {data}".format(data=cur.fetchall()))

# DB Close
con.close()

2.4 Select 하기
2.4 Select 하기

728x90

3. 예제 Code

이번에는 파이썬에서 SQLite를 사용하는 방법을 알아보았다.

간단하게 위에 나온 내용에 대한 예제 파일은 Github에 올려놓았다.

 

GitHub - happylie/python-example-code: Python Example Code

Python Example Code. Contribute to happylie/python-example-code development by creating an account on GitHub.

github.com

728x90
728x90


🌵댓글

 

loading