반응형
안녕하세요.
주피터 노트북 혹은 주피터랩에서 DB에 바로 접속하는 방법입니다.
보통 파이썬으로 DB에 있는 데이터를 가공하거나 분석할 때, csv 등으로 데이터를 다운로드한 후 파이썬으로 불러서 사용합니다.
ipython-sql 라이브러리를 사용하면, 주피터에서 DB에 바로 접근할 수 있습니다.
1. 라이브러리를 설치합니다.
pip install ipython-sql
2. 데이터베이스용 드라이버 라이브러리를 설치합니다. 접속하려는 DB에 해당하는 라이브러리를 설치하시면 됩니다.
ex. SQL server의 DB에 접속하려면 pyodbc를 설치하시면 됩니다.
# sql server
pip install pyodbc
# PostgreSQL
pip install pyscopg2
# MySQL
pip install PyMySQL
3. 노트북에서 매직명령어로 익스텐션을 로드합니다.
4. 접속하려는 DB에 해당하는 코드로, DB에 연결합니다.
# SQL Server
%sql mssql+pyodbc://user_name:password@host:port_number/db
# PostgreSQL
%sql postgresql://user_name:password@host:port_number/db
# MySQL
%sql mysql://user_name:password@host:port_number/db
그런데, 저는 SQL Server에 접속할 때 아래와 같은 오류가 발생했습니다.
찾아보니, DB이름 뒤에 ?driver=ODBC+Driver+17+for+SQL+Server 를 추가하면 해결할 수 있었습니다.
5. 연결이 되었다면 매직명령어와 함께 쿼리를 작성합니다.
6. 쿼리 결과를 판다스 데이터프레임으로 사용하려면, <<를 사용하면 됩니다.
주피터 환경에서 DB에 직접 연결하는 방법이었습니다.
감사합니다.
참고1:
https://medium.com/trendyol-tech/self-service-health-check-reports-for-sql-server-and-postgresql-with-jupyter-notebook-d992d9d3b4d7
참고2:
https://towardsdatascience.com/heres-how-to-run-sql-in-jupyter-notebooks-f26eb90f3259
반응형
'파이썬' 카테고리의 다른 글
python 웹툰 크롤링 시리즈1: 네이버웹툰 (3) | 2023.03.17 |
---|---|
tqdm 사용법 파이썬 (0) | 2022.06.15 |
파이썬 기초 통계분석 (0) | 2020.10.20 |
파이썬 공휴일, 연휴 날짜 구하기 with pytimekr (0) | 2020.10.19 |
파이썬으로 서든어택 데이터 수집: 병영수첩 전적 크롤링 (0) | 2020.10.12 |