SQL 쿼리를 주피터 노트북에서 사용하기 위한 매직커맨드

소환인·2023년 12월 13일
0

스터디노트

목록 보기
37/48

들어가며

주피터 노트북에서 SQL 커리를 사용하면서 불편했던 점이 한 가지 있었습니다. SELECT문을 사용해 데이터를 조회하더라도 결과를 바로 볼 수 없고 결과를 출력하는 코드를 별도로 작성해줘야 한다는 것이었습니다.

이러한 불편함을 해소할 수 있는 방법이 있는데 매직 커맨드 %load_ext sql 를 사용하는 것입니다. 이 매직 커맨드는 SQL 쿼리를 간결하게 작성하고 실행 결과를 직관적으로 표시할 수 있게 해줍니다.

이 글에서는 %load_ext sql 매직 커맨드를 주피터 노트북에서 사용하기 위해 제가 찾아본 것들을 정리하도록 하겠습니다. 먼저 필요한 패키지들과 설치 방법을 살펴보고, 데이터베이스 연결을 위한 환경 설정 방법을 설명할 것입니다. 마지막으로, 실제 사용 예시를 통해 이 매직 커맨드의 사용 방법과 그 이점을 보여드리겠습니다.

필요한 패키지

주피터 노트북에서 %load_ext sql 매직 커맨드를 사용하기 위해서는 몇 가지 필수 패키지가 필요합니다.

  1. ipython-sql: 이 패키지는 SQL 매직 커맨드를 주피터 노트북에 통합합니다. %load_ext sql 매직 커맨드를 활성화하는 데 필수적입니다.

    설치 명령어:

    !pip install ipython-sql
  2. SQLAlchemy: SQLAlchemy는 Python에서 SQL 데이터베이스를 다루기 위한 라이브러리입니다. 이 라이브러리를 통해 다양한 유형의 데이터베이스와 연결할 수 있습니다.

    다만 주의할 점은 1.4 이하 버전으로 설치하는 것이 좋습니다. 최신 버전의 경우, 매직 커맨드 사용과정에서 문제가 발생할 수 있습니다. 저는 db연결과정에서 어려움을 겪었고, sqlalchemy 재설치를 통해 문제를 해결할 수 있었습니다.

    설치 명령어:

    !pip install "sqlalchemy<1.4"
  3. 데이터베이스 드라이버: 사용하는 데이터베이스에 따라 적절한 드라이버를 설치해야 합니다. 예를 들어, MySQL을 사용한다면 pymysql이 필요합니다.

    설치 명령어:

    !pip install pymysql

환경 설정

설치한 패키지를 사용하여 주피터 노트북에서 %load_ext sql 매직 커맨드를 활성화하고 데이터베이스와 연결하는 방법은 다음과 같습니다:

  1. 매직 커맨드 활성화:

    • 주피터 노트북 셀에서 다음 명령을 실행하여 SQL 매직 커맨드를 활성화합니다.
      %load_ext sql
  2. 데이터베이스 연결:

    • 데이터베이스에 연결하기 위해서는 연결 문자열을 설정해야 합니다. 연결 문자열은 일반적으로 다음과 같은 형식을 가집니다:
      dialect+driver://username:password@host:port/database
    • 예를 들어, MySQL 데이터베이스에 연결하는 경우, 연결 문자열은 다음과 같이 될 수 있습니다:
      %sql mysql+pymysql://아이디:패스워드@localhost:3306/데이터베이스?charset=utf8mb4

간단한 사용 예시

환경 설정이 완료되면, 주피터 노트북에서 %load_ext sql 매직 커맨드를 사용하여 SQL 쿼리를 실행할 수 있습니다.

  1. SQL 쿼리 실행:

    %sql SHOW databases;

  1. 결과 확인:
    • 쿼리를 실행한 후에는 결과를 직접 확인할 수 있습니다. %sql 매직 커맨드를 사용하면 결과가 바로 주피터 노트북의 셀에 표시됩니다.
    • 결과는 표 형식으로 정리되어 있어, 데이터를 쉽게 확인하고 분석할 수 있습니다.
profile
돌고돌아

0개의 댓글