메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Sql formater

데브카페
Devcafe (토론 | 기여)님의 2024년 11월 19일 (화) 20:08 판 (→‎도구 비교표)
  • 오픈소스 기반의 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 설치

  1. Java가 설치되어 있어야 합니다.
  2. 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 사용 경험이 있고 통합 포매팅 도구를 원할 경우.

Comments