다른 명령
sqlformat (sqlparse)
- 오픈소스 기반의 SQL 포매터 추천
- Python 기반의 SQL 포매팅 도구로 간단한 CLI 명령으로 SQL 파일이나 텍스트를 정리할 수 있습니다.
sqlformat 설치
pip install sqlparse
sqlformat 사용 방법
sqlformat -r yourfile.sql # 파일 포매팅 sqlformat -r yourfile.sql -k upper # 키워드 대문자 변환
sqlformat 특징
- 간단한 설치와 사용법
- 키워드 대문자/소문자 변환 옵션 제공
- 줄 맞춤과 정렬 기능 제공
sql-lint
- SQL 포매터뿐만 아니라 SQL 린터로도 사용할 수 있는 CLI 도구입니다.
sql-lint 설치
npm install -g sql-lint
sql-lint 사용 방법
sql-lint yourfile.sql
sql-lint 특징
- SQL 포매팅 및 린팅을 동시에 수행
- JavaScript 기반으로 Node.js 환경이 필요
beautysh
- Shell 스크립트 기반 포매터로 SQL 포함 다양한 텍스트 파일 정리에 사용 가능
beautysh 설치
pip install beautysh
beautysh 사용 방법
beautysh yourfile.sql
beautysh 특징
- 간단한 텍스트 파일 포매팅
- SQL 이외의 파일에도 적합
SQLFluff
- SQL 스타일 가이드에 따라 코드 포맷팅과 린팅을 지원하는 Python 기반 도구입니다.
- 다양한 SQL 표준(ANSI, PostgreSQL, MySQL 등)을 지원
SQLFluff 설치
pip install sqlfluff
SQLFluff 사용 방법
sqlfluff fix input.sql --dialect ansi
- fix: SQL 파일을 정리
- --dialect ansi: SQL 방언 설정 (PostgreSQL, MySQL 등 다른 방언도 지원)
SQLFluff 특징
- SQL 포매팅과 린팅 동시 지원
- SQL 스타일 가이드 자동 적용
- 사용자 정의 스타일 설정 가능
Prettier-SQL
- Prettier와 통합하여 SQL 파일을 포매팅하는 JavaScript 기반 도구
Prettier-SQL 설치
npm install -g prettier-plugin-sql
Prettier-SQL 사용 방법
prettier --write input.sql
- 특징:
- SQL뿐만 아니라 다양한 언어 지원
- Prettier의 설정 파일로 포매팅 규칙 관리 가능
- 간단한 명령어로 SQL 정리 가능
PgFormatter
- PostgreSQL 쿼리에 최적화된 SQL 포매터로, 다른 SQL 문법도 지원합니다.
PgFormatter 설치
git clone https://github.com/darold/pgFormatter.git cd pgFormatter make sudo make install
PgFormatter 사용 방법
pg_format input.sql -o output.sql -s 5
- -s: 들여쓰기 폭 설정
- -o: 출력 파일 지정
PgFormatter 특징
- PostgreSQL 최적화, 하지만 다른 SQL도 지원
- 다중 파일 처리 가능
- 명령줄 기반으로 간단히 실행
SQLPrettifier
- 단순하고 빠르게 SQL을 포맷팅하는 경량 도구로, Python 기반으로 제작되었습니다.
SQLPrettifier 설치
pip install sql-prettifier
SQLPrettifier 사용 방법
sql-prettifier input.sql --output output.sql
SQLPrettifier 특징
- 가볍고 빠른 실행
- 간단한 설치 및 사용법
- 기본적인 SQL 포매팅 지원
SQLFormatter by JSQLParser
- Java 기반의 SQL 구문 분석 라이브러리를 사용한 SQL 포매터입니다.
JSQLParser 설치
- Java가 설치되어 있어야 합니다.
- SQLFormatter JAR 파일을 다운로드합니다.
JSQLParser 사용 방법
java -jar sql-formatter.jar input.sql > output.sql
JSQLParser 특징
- Java 기반으로 다양한 환경에서 실행 가능
- 복잡한 SQL 구조도 안정적으로 처리
BeautifySQL (CLI)
- SQL을 간단히 정리해 주는 오픈소스 CLI 도구입니다.
BeautifySQL 설치
git clone https://github.com/bwt-creator/BeautifySQL.git cd BeautifySQL chmod +x beautifysql sudo mv beautifysql /usr/local/bin/
BeautifySQL 사용 방법
beautifysql input.sql > output.sql
BeautifySQL 특징
- 간단한 사용법
- 기본 SQL 포매팅 제공
도구 비교표
도구 | 특징 | 프로그래밍 언어 | 사용 난이도 |
---|---|---|---|
SQLFluff | 스타일 가이드 기반 포매팅 및 린팅 | Python | 중간 |
Prettier-SQL | Prettier와 통합, 다양한 언어 지원 | JavaScript | 쉬움 |
PgFormatter | PostgreSQL 최적화, 다중 파일 지원 | Perl | 중간 |
SQLPrettifier | 경량 도구, 빠르고 간단한 실행 | Python | 쉬움 |
BeautifySQL | 간단한 CLI 기반 SQL 포매터 | Shell | 쉬움 |
JSQLParser | Java 기반, SQL 구문 분석 기능 포함 | Java | 중간 |
추천 도구 선택
- SQLFluff: 가독성 높은 SQL 작성과 스타일 통일이 필요할 경우.
- PgFormatter: PostgreSQL과 복잡한 쿼리에 적합.
- Prettier-SQL: Prettier 사용 경험이 있고 통합 포매팅 도구를 원할 경우.
<source lang=python>