티스토리 뷰

 

안녕하세요 탐구소년입니다. 

가끔씩 생각이 날 때마다 파이썬 예제 코드를 작성하여 블로그에 올리고 있는데요. 오늘 올리는 코드는 파이썬으로 데이터베이스를 관리하는 아주 기본적인 예제입니다. 관련 내용도 간단하게 정리하여 올리니까, 필요하신 분들께서는 참고하시면 좋을 것 같아요. 참고로 예제에서 사용할 데이터베이스는 sqlite3 입니다. 

자 그럼, 시작하겠습니다. 

 

 

데이터베이스 란?

 

대량의 데이터를 다루는 데 특화된 데이터 관리 소프트웨어

 

 

SQLite3 란?

 

SQLite3는 가볍게 파일 하나만으로 사용할 수 있는 데이터베이스입니다. 데이터베이스 조작 언어인 SQL 사용을 데이터 관리의 기본으로 합니다. 행과 열로 구성된 2차원적 구조로 데이터를 관리합니다. 

이 데이터베이스는 웹사이트에서도 사용할 수 있고, 모바일 어플리케이션 등에서도 곧잘 사용하는 인기 데이터베이스 소프트웨어입니다. 

 

 

예제 내용

 

데이터를 저장할 DB(데이터베이스)파일을 만들고 그 안에 데이터를 삽입한 다음 해당 내용을 확인하는 예제

 

 

예제 코드

 

'''
person 에 대한 데이터(사는 도시, 이름)를
person.db 파일에 저장하는 예제
by 탐구소년
'''
import sqlite3

con = sqlite3.connect('person.db')
cur = con.cursor()
cur.execute('''CREATE TABLE person
         (city text, name text)''')
cur.execute("INSERT INTO person VALUES ('Seoul', 'hong-gildong')")
cur.execute("INSERT INTO person VALUES ('Busan','go-gildong')")
con.commit()

for row in cur.execute('SELECT * FROM person ORDER BY name'):
    print(row)

cur.close()

 

 

코드 설명

 

예제에서는 파이썬 모듈인 sqlite3를 사용합니다. 이 모듈은 파이썬을 통해 sqlite3 데이터베이스를 관리할 수 있도록 지원하는 모듈입니다. 

모듈의 connect 메서드로 person.db 파일을 생성하면서 해당 커넥션(연결)에 대한 객체를 con 변수에 대입했습니다. 

그런 다음 con객체의 cursor()를 통해 데이터베이스를 관리할 수 있는 cur 객체(커서)를 만듭니다. 

excute() 메서드는 SQL 언어를 DB에 전달하는 메서드입니다. 문자열 형태로 SQL 이 전달되는 것이 보입니다. 

 

CREATE는 데이터를 보관하는 테이블을 만드는 명령인데, person이 바로 테이블명입니다. 테이블 데이터 구성은 city와 name입니다.

INSERT는 테이블에 데이터를 집어 넣는 명령으로, 데이터를 두 번 집어넣었습니다.

commit() 메서드는 저장(CTRL+S)을 한 것쯤으로 생각하시면 됩니다. 중간 저장이며, 이것을 하지 않으면 다시 열었을 때 데이터가 누락될 수도 있습니다. 

SELECT는 테이블로부터 데이터를 읽어오는 명령인데, 이 결과는 선형적 데이터로 반환되므로 for문을 통해 읽어보는 것이 가능합니다. 

 

그리고 마지막에는 close() 메서드로 연결을 해제하였습니다.

 

 

실행 결과

 

 

감사합니다.

댓글
공지사항