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

SQL 정리 툴

데브카페

sqlformat (sqlparse)

  • 오픈소스 기반의 SQL 포매터 추천
  • Python 기반의 SQL 포매팅 도구로 간단한 CLI 명령으로 SQL 파일이나 텍스트를 정리할 수 있습니다.

sqlformat 설치

pip install sqlparse

sqlformat 사용 방법

sqlformat -r yourfile.sql  # 파일 포매팅
sqlformat -r yourfile.sql -k upper  # 키워드 대문자 변환

sqlformat 특징

  1. 간단한 설치와 사용법
  2. 키워드 대문자/소문자 변환 옵션 제공
  3. 줄 맞춤과 정렬 기능 제공

sql-lint

  • SQL 포매터뿐만 아니라 SQL 린터로도 사용할 수 있는 CLI 도구입니다.

sql-lint 설치

npm install -g sql-lint

sql-lint 사용 방법

sql-lint yourfile.sql

sql-lint 특징

  1. SQL 포매팅 및 린팅을 동시에 수행
  2. JavaScript 기반으로 Node.js 환경이 필요

beautysh

  • Shell 스크립트 기반 포매터로 SQL 포함 다양한 텍스트 파일 정리에 사용 가능

beautysh 설치

pip install beautysh

beautysh 사용 방법

beautysh yourfile.sql

beautysh 특징

  1. 간단한 텍스트 파일 포매팅
  2. 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 중간


추천 도구 선택

  1. SQLFluff: 가독성 높은 SQL 작성과 스타일 통일이 필요할 경우.
  2. PgFormatter: PostgreSQL과 복잡한 쿼리에 적합.
  3. Prettier-SQL: Prettier 사용 경험이 있고 통합 포매팅 도구를 원할 경우.

<source lang=python>

Comments