소개
SQL Notebook은 Brian Luft가 개발한 오픈소스 데이터 탐색 도구로, Jupyter 스타일의 노트북 인터페이스를 통해 CSV, Excel, SQL Server, PostgreSQL, MySQL 등 다양한 소스의 데이터를 SQL로 탐색할 수 있습니다. 확장된 SQLite 엔진을 기반으로 표준 SQL 쿼리와 SQL Notebook 전용 명령 및 함수를 지원하며, 스크립트 작성 및 자동화를 위한 명령줄 인터페이스도 제공합니다. MIT 라이선스로 무료 배포되며, Windows 환경에서 실행됩니다.
상세정보
데이터 가져오기 및 연결
CSV, Excel 파일은 그래픽 가져오기 마법사 또는 IMPORT 스크립트 명령을 통해 로컬 테이블로 가져올 수 있습니다. Microsoft SQL Server, PostgreSQL, MySQL 테이블은 실시간 링크 또는 스냅샷 복사 방식으로 노트북에 연결하여 로컬 테이블과 interchangeably 쿼리할 수 있습니다.
노트북 인터페이스
페이지(Pages)는 문서화와 실행 가능한 코드를 결합한 간단한 노트북 인터페이스를 제공합니다. 각 페이지는 쿼리 블록과 텍스트 블록으로 구성되며, 쿼리 블록에서는 exploratory SQL 쿼리를 실행하고 결과를 페이지에 임베드할 수 있습니다. 텍스트 블록에서는 findings를 문서화할 수 있습니다. 데이터가 변경되면 모든 쿼리 블록을 한 번에 재실행할 수 있습니다.
스크립트 및 저장 프로시저
스크립트는 저장 프로시저와 유사하게 작동하며, 순서대로 실행될 SQL 쿼리 시리즈를 작성할 수 있습니다. 로컬 변수, 매개변수, 오류 처리(THROW, TRY), imperative 제어 흐름(IF, FOR, WHILE)을 지원합니다. F5 키로 독립 실행하거나 EXECUTE 명령으로 다른 페이지 또는 스크립트에서 호출할 수 있습니다.
콘솔 및 명령줄 인터페이스
콘솔은 Ctrl+` (백틱) 키로 호출할 수 있는 빠른 throwaway 쿼리 창으로, 화면 하단에 탭 형태로 collapsed됩니다. 콘솔 결과는 저장되지 않습니다. 명령줄 인터페이스(SqlNotebookCmd)는 터미널에서 노트북 파일을 직접 실행하여 자동화 및 다른 도구와의 통합에 적합하며, 결과를 CSV 형식으로 출력합니다.
내장 기능 및 확장성
SQL Notebook은 ‘batteries included’ 접근 방식으로 다양한 내장 기능을 제공합니다. CSV 및 기타 파일 실시간 파싱(READ_CSV), 날짜 및 시간 처리(DATEPART, DATEADD 등), 파일 시스템 접근(LIST_FILES), 배열 작업(ARRAY 등)을 지원합니다. 또한 load_extension 함수를 통해 추가 SQLite 확장을 로드할 수 있습니다.
도움말 및 문서화
F1 키를 누르면 전체 애플리케이션 도움말 시스템에 접근할 수 있으며, 검색 가능한 도움말 문서 index와 상단 우측의 ‘Search Help’ 박스를 통해 키워드 검색이 가능합니다. SQLite 및 SQL Notebook의 모든 문서가 포함되어 있으며, 온라인에서도 이용 가능합니다.
다운로드 및 설치 방법
공식 웹사이트에서 Windows용 MSI 설치 프로그램을 다운로드하여 실행하면 설치할 수 있습니다. Chocolatey 패키지 관리자를 사용하는 경우 choco install sqlnotebook 명령으로 설치할 수 있습니다. 설치 후 시작 메뉴에서 SQL Notebook을 실행할 수 있습니다.
기본 사용법
첫 실행 시 데이터 가져오기 wizard를 통해 CSV 또는 Excel 파일을 불러올 수 있습니다. 가져온 데이터는 로컬 테이블로 생성되며, 쿼리 블록에서 SELECT * FROM my_table과 같은 SQL 쿼리를 실행할 수 있습니다. 텍스트 블록에서는 결과를 설명하거나 다음 단계를 문서화할 수 있습니다. 페이지 상단의 재실행 버튼을 클릭하면 모든 쿼리 블록을 다시 실행하여 최신 데이터를 반영할 수 있습니다. 스크립트를 작성하려면 새 스크립트 페이지를 만들고 SQL 쿼리 시리즈를 입력한 후 F5 키로 실행할 수 있습니다. 콘솔은 Ctrl+` 키로 열어 임시 쿼리를 테스트할 수 있으며, 명령줄 인터페이스는 터미널에서 SqlNotebookCmd notebook.sqlnb 형태로 사용해 자동화 시나리오에 활용할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


