소개
이번 블로그 포스트에서는 Python의 argparse
모듈과 SQL 쿼리를 통합하는 방법에 대해 알아보겠습니다. argparse
는 명령행 인자를 처리하는데 사용되는 강력한 라이브러리이며, SQL 쿼리는 데이터베이스와 상호 작용하는 데 사용되는 중요한 도구입니다.
Python에서 SQL 쿼리를 실행하려면 일반적으로 문자열로 쿼리를 작성하고, 이를 데이터베이스 연결에 전달하여 실행합니다. 그러나 매번 쿼리를 작성하고 수동으로 실행하는 것은 번거로울 수 있으며, 실수를 발생시킬 수도 있습니다. 이러한 문제를 해결하기 위해 argparse
를 사용하여 사용자로부터 쿼리를 입력 받고, 이를 자동으로 실행하는 기능을 구현할 수 있습니다.
설치
argparse
는 Python 표준 라이브러리에 포함되어 있으므로 별도로 설치할 필요가 없습니다. 하지만, SQL 쿼리를 실행하기 위해 데이터베이스 연결을 위해 pymysql
라이브러리를 설치해야 합니다. 다음 명령을 사용하여 pymysql
를 설치합니다:
pip install pymysql
예제 코드
가장 먼저 argparse
모듈을 import합니다:
import argparse
다음으로, argparse
인스턴스를 생성하고 필요한 인자를 추가합니다. 아래의 예제에서는 -q
또는 --query
인자를 사용하여 SQL 쿼리를 전달받습니다:
parser = argparse.ArgumentParser(description='Execute SQL queries')
parser.add_argument('-q', '--query', type=str, help='SQL query')
--query
옵션에 대한 인자의 유형을 str
으로 정의하였습니다.
이제 입력된 인자를 분석하고, 해당 쿼리를 실행하는 코드를 작성할 차례입니다. 아래의 예제는 MySQL 데이터베이스에 연결하여 입력된 쿼리를 실행하는 방법을 보여줍니다:
import pymysql
# 데이터베이스 연결 설정
db = pymysql.connect(host='localhost', user='username', password='password', database='dbname')
# 커서 생성
cursor = db.cursor()
# 입력된 쿼리 실행
cursor.execute(args.query)
# 결과 출력
for row in cursor:
print(row)
# 연결 종료
db.close()
위의 코드에서 host
, user
, password
, database
는 실제 데이터베이스 연결 설정에 맞게 수정해야 합니다.
실행 예제
위에서 작성한 코드를 실행하기 위해서는 셸에서 다음과 같이 명령을 입력합니다:
python myscript.py -q "SELECT * FROM table_name"
여기에서 myscript.py
는 Python 스크립트의 파일명이며, -q
옵션으로 실행할 SQL 쿼리를 전달합니다.
결론
이번 글에서는 argparse
모듈과 SQL 쿼리를 통합하여 Python 스크립트에서 사용자가 입력한 쿼리를 실행하는 방법에 대해 살펴보았습니다. argparse
를 사용하면 명령행에서 인자를 전달받는 것이 간편해지며, 이를 활용하여 SQL 쿼리 실행에 대한 유연성과 편의성을 높일 수 있습니다. 이러한 기술은 데이터베이스와 상호 작용하는 Python 애플리케이션을 개발하는 데 도움이 될 것입니다.
더 많은 정보와 예제 코드는 Python argparse 문서와 pymysql 문서를 참조하시기 바랍니다.