SQLite3 데이터베이스 용 Python에서 SELECT 문 구현

SQLite 3 및 Python에 대한 이전 게시물에서 두 개의 관련 테이블을 SQLite 3 데이터베이스 usign Pyhton에 추가했습니다. 테이블을 universityTBxx 및 studentsTBxx라고합니다. 두 테이블 모두 “newDatabase.db”라는 데이터베이스에 저장됩니다. 학생들은 대학에 입대합니다. 각 대학과 관련된 정보는 universityTBxx 테이블에 포함되어 있습니다.

이 게시물에서는 SQLite 3 데이터베이스에서 데이터를 검색하기위한 기본 SQL 쿼리를 구현합니다. 먼저 데이터베이스에 대한 연결을 생성하기위한 관련 기능의 구현을 반복 해 보겠습니다.

# sqlite3 모듈 가져 오기
import sqlite3

#이 함수는 데이터베이스 파일에 대한 데이터베이스 연결을 만듭니다.
# 매개 변수:  데이터베이스 파일 이름
# 보고: 데이터베이스에 연결
def create_connection(db_file):
    conn = None
    try:
        conn = sqlite3.connect(db_file)
        return conn
    except Error as e:
        print(e)
    return conn

데이터베이스 이름을 알고 있으므로 이제 위의 함수를 사용하여 연결할 수 있습니다.

# 데이터베이스와 연결하기위한 참조 핸들러 얻기
dbConnection = create_connection("newDatabase.db")

이제 관련 데이터베이스에 대한 연결에 대한 참조가 있습니다. Python 및 sqlite3 모듈을 사용하여 대학 테이블에 대한 SELECT * 명령을 구현해 보겠습니다.

cursorObj = dbConnection.cursor()
cursorObj.execute("SELECT * FROM universitiesTBxx")
rowList = cursorObj.fetchall()
for row in rowList:
    print(row)
('MIT', 'USA')
('ETH', 'CH')
('DTU', 'DK')

예를 들어 또한 SELECT * FROM tableName WHERE 조건문을 시도하십시오. 예 : ETH Zürich (스위스 연방 공과 대학)에서 공부 한 학생들 만 반환되기를 바랍니다.

cursorObj.execute("SELECT * FROM studentsTBxx WHERE university = 'ETH'")
rowList = cursorObj.fetchall()
for row in rowList:
    print(row)

(1, 'Linnart', 'ETH', 'MSc') 

또한 매개 변수 필터를 사용하여 매개 변수화 된 테이블 이름에서 SELECT 문을 일반적으로 실행하도록 허용하는 함수를 구현할 수도 있습니다.

Leave a Reply

답글 남기기

이메일 주소는 공개되지 않습니다.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

Close

메타