파이썬(python) - 데이터베이스
파일이 아니라 데이터베이스에서 데이터를 읽어 와야 한다면 여러분 프로그램의 어느 부분을 바꿔야 할까요?
앞의 예제와 비교하여 보시면 이해하기 쉬울 것입니다.
데이터베이스에서 데이터를 불러 오는 예제.
import sqlite3 // 표준 SQLite3 라이브러리를 임포트하고 데이터베이스 파일에 있는 데이터에 연결한다.
def find_details(id2find):
db = sqlite3.connect("c://surfersDB.sdb") //surfersDB.sdb 데이터베이스 파일로 연결
db.row_factory = sqlite3.Row
cursor = db.cursor()
cursor.execute("select * from surfers")
rows = cursor.fetchall() //파일이 아니라 데이터베이스에서 모든 사람 데이터를 가져와 row 변수에 할당한다.
for row in rows: //각 레코드를 처리 한다.
if row['id'] == id2find: ID // 같은 아이디가 있다면 ~
s = {}
s['id'] = str(row['id'])
s['name'] = row['name']
s['country'] = row['country']
s['average'] = str(row['average'])
s['board'] = row['board']
s['age'] = str(row['age'])
cursor.close()
return(s)
cursor.close() // 사용후에는 항상 닫는 것이 좋습니다 ~
return({})
def find_details(id2find):
db = sqlite3.connect("c://surfersDB.sdb") //surfersDB.sdb 데이터베이스 파일로 연결
db.row_factory = sqlite3.Row
cursor = db.cursor()
cursor.execute("select * from surfers")
rows = cursor.fetchall() //파일이 아니라 데이터베이스에서 모든 사람 데이터를 가져와 row 변수에 할당한다.
for row in rows: //각 레코드를 처리 한다.
if row['id'] == id2find: ID // 같은 아이디가 있다면 ~
s = {}
s['id'] = str(row['id'])
s['name'] = row['name']
s['country'] = row['country']
s['average'] = str(row['average'])
s['board'] = row['board']
s['age'] = str(row['age'])
cursor.close()
return(s)
cursor.close() // 사용후에는 항상 닫는 것이 좋습니다 ~
return({})
lookup_id = int(input("Enter the id of the surfer: "))
surfer = find_details(lookup_id)
if surfer:
print("ID: " + surfer['id'])
print("Name: " + surfer['name'])
print("Country: " + surfer['country'])
print("Average: " + surfer['average'])
print("Board type: " + surfer['board'])
print("Age: " + surfer['age'])
surfer = find_details(lookup_id)
if surfer:
print("ID: " + surfer['id'])
print("Name: " + surfer['name'])
print("Country: " + surfer['country'])
print("Average: " + surfer['average'])
print("Board type: " + surfer['board'])
print("Age: " + surfer['age'])
데이터베이스 시스템 - SQLite3와 같이 대용량의 데이터를 매우 효율적으로 저장할 수 있는 기술이 있다.
'' 카테고리의 다른 글
파이썬(python) - 모듈화 (0) | 2011.10.31 |
---|---|
파이썬(python) - 스트링을 사용하여 스트링을 포멧 (0) | 2011.10.29 |
파이썬(python) - 데이터베이스 (0) | 2011.10.28 |
파이썬(python) - 함수에서 구조화된 데이터 반환 (1) | 2011.10.28 |
파이썬(python) - 해시(데이터 제자리에 넣기) (0) | 2011.10.27 |
파이썬(python) - 이터레이터(iterator), 제너레이터(generator) (0) | 2011.10.27 |
댓글을 달아 주세요