🌐 KO

🗄️ SQL Formatter

SQL 쿼리를 절(clause)별로 줄바꿈하고 들여쓰기를 맞춰 읽기 쉽게 정렬합니다. 반대로 저장 공간이나 로그 전송용으로 한 줄 압축(minify)도 지원합니다. 키워드 대문자 변환은 선택 사항입니다.

가이드

자세히 알아보기

01

1. SQL을 정렬해야 하는 이유

한 줄로 작성되거나 ORM이 생성한 SQL은 조인이 많아질수록 읽기 어려워집니다. 절(SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY 등) 단위로 줄바꿈하고 들여쓰기를 맞추면 어떤 테이블을 어떤 조건으로 조인했는지, WHERE 조건이 무엇인지 한눈에 파악할 수 있어 코드 리뷰와 디버깅 속도가 빨라집니다.

02

2. 이 도구의 정렬 규칙

SELECT/FROM/WHERE/JOIN 계열/GROUP BY/ORDER BY/HAVING/LIMIT 등 주요 절 앞에서 줄을 바꾸고, AND/OR는 한 단계 들여써서 조건을 구분합니다. 콤마로 구분된 컬럼 목록은 각각 새 줄에 정렬되고, 괄호 안 내용(서브쿼리 등)은 한 단계 들여쓰기가 추가됩니다. 이 도구는 완전한 SQL 파서가 아니라 토큰 기반의 정렬기이므로, 매우 복잡하게 중첩된 서브쿼리나 벤더 특수 문법은 결과를 확인 후 수동으로 다듬는 것을 권장합니다.

03

3. Minify와 언제 사용하나

압축(minify)은 주석을 제거하고 불필요한 공백·줄바꿈을 없애 한 줄로 만듭니다. 로그에 쿼리를 남기거나, 저장 프로시저·마이그레이션 스크립트 크기를 줄이거나, 다른 도구에 붙여넣기 위해 한 줄이 필요할 때 유용합니다. 문자열 리터럴(따옴표로 감싼 값) 안의 내용은 그대로 보존되므로 데이터 값이 손상되지 않습니다.

자주 묻는 질문

모든 SQL 방언(MySQL, PostgreSQL, Oracle 등)을 지원하나요?
완전한 SQL 파서가 아니라 공통 키워드를 인식하는 토큰 기반 정렬기입니다. SELECT/INSERT/UPDATE/DELETE/CREATE TABLE 등 대부분의 표준 SQL과 일반적인 조인 문법을 지원하지만, 벤더 전용 확장 문법은 정렬 규칙에서 벗어날 수 있습니다.
문자열 안의 SQL 키워드도 대문자로 바뀌나요?
아니요. 따옴표('...' , "...", `...`)로 둘러싸인 문자열 리터럴은 토큰화 단계에서 별도로 인식되어 대소문자 변환이나 줄바꿈 처리에서 제외됩니다.
입력한 쿼리가 서버로 전송되나요?
아니요. 정렬·압축 모두 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.
들여쓰기 폭을 바꿀 수 있나요?
네. 들여쓰기 선택 메뉴에서 2칸 또는 4칸을 고를 수 있습니다.