다양한 파일 형식의 표 데이터를 탐색하고 정리하며 변환할 수 있는 터미널 스프레드시트 멀티툴입니다.
neilotoole/sq
CSV, Excel, JSON 같은 파일과 SQL 데이터베이스를 jq 스타일 또는 SQL 문법으로 조회하고 조인하는 CLI 도구입니다.
- 스타
- 2,573
- 포크
- 43
- 열린 이슈
- 87
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
sq는 SQL 데이터베이스와 CSV, TSV, JSON, Excel XLSX 같은 문서 파일을 조회 가능한 데이터 소스로 다루는 CLI 도구입니다. 각 소스에 핸들을 지정해 추가한 뒤, jq 스타일 쿼리 언어나 네이티브 SQL로 명령을 실행합니다.
sq를 사용하면 CSV 파일과 Postgres 테이블, 또는 MySQL 테이블과 Excel 워크시트처럼 서로 다른 소스의 데이터를 조인할 수 있습니다. 쿼리 결과는 JSON, CSV, XLSX, HTML, Markdown, XML 등 다양한 형식으로 내보내거나 데이터베이스 테이블에 바로 삽입할 수 있습니다. 또한 테이블, 컬럼, 크기 등 소스 구조를 확인하고 스키마와 행 데이터를 비교하며, 테이블을 복사하거나 비우거나 삭제할 수 있습니다.
프로젝트에서 제공하는 드라이버로 SQLite, DuckDB, PostgreSQL, SQL Server, MySQL, ClickHouse, Oracle, rqlite가 있으며, Homebrew, Scoop, 셸 스크립트, Go 또는 Docker를 통해 설치할 수 있습니다.
핵심 기능
- 01jq 스타일 문법이나 네이티브 SQL로 데이터 소스를 조회합니다.
- 02CSV와 Postgres처럼 서로 다른 소스의 테이블을 조인합니다.
- 03결과를 JSON, CSV, XLSX, HTML, Markdown, XML 등으로 내보냅니다.
- 04소스 메타데이터를 확인하고 스키마나 행 데이터를 비교합니다.
- 05SQL 데이터베이스 소스의 테이블을 복사하거나 비우거나 삭제합니다.
활용 사례
- 임시 분석을 위해 Excel 시트나 CSV 내보내기 파일을 프로덕션 데이터베이스 테이블과 조인합니다.
- 터미널에서 낯선 SQLite 또는 Postgres 데이터베이스를 살펴봅니다.
- 셸 파이프라인에서 스프레드시트나 CSV를 JSON 또는 다른 형식으로 변환합니다.
- 두 데이터베이스 환경의 스키마나 데이터를 비교합니다.
빠른 시작
- 1
Homebrew로 macOS에 설치
brew install sq - 2
Scoop으로 Windows에 설치 (먼저 bucket을 추가하세요)
scoop bucket add sq https://github.com/neilotoole/sq - 3
Go로 설치 (SQLite build tags가 필요합니다)
go install -tags "sqlite_vtable sqlite_stat4 sqlite_fts5 sqlite_introspect sqlite_json sqlite_math_functions" github.com/neilotoole/sq@latest - 4
README에 있는 Linux용 공식 설치 스크립트 실행
사용 전 알아둘 점
- Linux 설치는 다운로드한 셸 스크립트를 사용합니다. 또한 Go로 설치하면 clone한 저장소에서 make install로 빌드하지 않는 한 버전이 v0.0.0-dev로 표시됩니다.
포함된 컬렉션
토픽
자주 묻는 질문
- sq은(는) 무엇인가요?
- CSV, Excel, JSON 같은 파일과 SQL 데이터베이스를 jq 스타일 또는 SQL 문법으로 조회하고 조인하는 CLI 도구입니다. sq는 SQL 데이터베이스와 CSV, TSV, JSON, Excel XLSX 같은 문서 파일을 조회 가능한 데이터 소스로 다루는 CLI 도구입니다. 각 소스에 핸들을 지정해 추가한 뒤, jq 스타일 쿼리 언어나 네이티브 SQL로 명령을 실행합니다.
- sq은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- sq은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- sq은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. sq의 마지막 커밋은 2026년 10월 21일입니다.
- sq은(는) 어디에 사용할 수 있나요?
- 임시 분석을 위해 Excel 시트나 CSV 내보내기 파일을 프로덕션 데이터베이스 테이블과 조인합니다. 터미널에서 낯선 SQLite 또는 Postgres 데이터베이스를 살펴봅니다. 셸 파이프라인에서 스프레드시트나 CSV를 JSON 또는 다른 형식으로 변환합니다. 두 데이터베이스 환경의 스키마나 데이터를 비교합니다.
- sq는 어떻게 설치하나요?
- Homebrew로 macOS에 설치: brew install sq Scoop으로 Windows에 설치 (먼저 bucket을 추가하세요): scoop bucket add sq https://github.com/neilotoole/sq Go로 설치 (SQLite build tags가 필요합니다): go install -tags "sqlite_vtable sqlite_stat4 sqlite_fts5 sqlite_introspect sqlite_json sqlite_math_functions" github.com/neilotoole/sq@latest README에 있는 Linux용 공식 설치 스크립트 실행
- sq은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/neilotoole/sq
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
CSV, Parquet, JSON, Excel, SQLite 등의 표 형식 데이터 파일을 조회하고 쿼리할 수 있는 가벼운 터미널(TUI) 앱입니다.
대용량 파일도 메모리 사용량을 낮게 유지하며 Excel 및 CSV 스프레드시트를 읽고 쓸 수 있는 Java 라이브러리입니다.
ADBC 드라이버를 통해 데이터베이스에 SQL 쿼리를 실행하고, 대화형 셸과 파일 내보내기를 지원하는 명령줄 도구입니다.
여러 데이터베이스에서 순서가 지정된 스키마 변경을 적용하는 CLI 및 라이브러리 기반 Go 데이터베이스 마이그레이션 도구입니다.