SQL 포맷터
MySQL·PostgreSQL 쿼리 정렬
MySQL, PostgreSQL, SQLite, BigQuery 등 방언을 골라 SQL을 브라우저에서 정렬합니다. 실행·검증이 아닌 가독성 포맷입니다.
이 변환은 브라우저에서만 실행됩니다. 서버로 업로드하지 않습니다.
- 입력0
- 출력0
- 옵션Standard SQL · 2 칸
입력
출력
이 도구는 무엇인가요?
Standard SQL, MySQL, PostgreSQL, MariaDB, SQLite, BigQuery, PL/SQL, T-SQL 쿼리를 브라우저에서 읽기 쉽게 정렬합니다. 공백·줄바꿈·들여쓰기(1–8칸)·키워드 대문자화를 적용합니다.
DB 클라이언트가 아닙니다. 실행·권한·스키마 검증을 하지 않으며, 방언 선택은 식별자·벤더 토큰을 어떻게 나눌지에 영향을 줍니다.
로그·ORM 한 줄 쿼리, PR 리뷰용 SQL, 조인·필터 스캔에 맞습니다.
자주 쓰는 경우
- ORM·로그에서 온 압축 쿼리를 절 단위로 펼쳐 코드 리뷰
- MySQL 백틱 / PostgreSQL
"식별자"에 맞는 방언으로 재정렬 - 문서·티켓 공유 전에 키워드 대소문자 정리
사용 방법
- DB에 가까운 방언과 들여쓰기 1–8칸을 고릅니다.
- SQL을 붙여넣으면 결과가 바로 갱신됩니다(큰 입력은 debounce).
- 편집기 위 한 줄 파서 오류(괄호 불일치·잘린 입력 등)를 고칩니다.
- 결과를 복사합니다. Sample은
SELECT+JOIN예제입니다.
Dialect notes
| 방언 | 흔한 식별자 따옴표 | 메모 |
|---|---|---|
| Standard / PostgreSQL / SQLite | "큰따옴표" | PostgreSQL :: 캐스트 유지 |
| MySQL / MariaDB | `백틱` | 백틱 식별자는 MySQL/MariaDB 방언 권장 |
| BigQuery | `project.dataset.table` | 데이터셋 한정 이름 |
| PL/SQL / T-SQL | 벤더 특화 | 프로시저 블록은 해당 방언이 유리 |
예시
| 입력 / 설정 | 출력 | 메모 |
|---|---|---|
select id, name from users where active = 1 order by created_at desc (Standard, 2) | 절별 줄바꿈 + 키워드 대문자 | 기본 beautify |
select * from users where id::int = 1 (PostgreSQL) | id::int 유지 | 방언 인식 캐스트 |
select * from \proj.dataset.table` where true` (BigQuery) | 백틱 한정 테이블 유지 | 일반 포맷터가 자주 깨는 엣지 |
SELECT * FROM users WHERE ( | EOF / ) 기대 파서 오류 | 구조 오류—스키마 검증 아님 |
실무에서 흔한 실수
- 실행·DB 검증이 아닙니다. 포맷된 쿼리도 스키마·권한·엔진 버전과 어긋날 수 있습니다.
- 방언 불일치는
"…"/`…`처리와 벤더 함수에 영향을 줍니다. - 한 줄 minify는 범위 밖입니다(pretty-print만).
- 키워드 오타(
selekt)는 오류 없이 통과할 수 있습니다—완전한 린터가 아닙니다.
참고자료
최종 검토: 2026-07-27
자주 묻는 질문
- 포맷이 쿼리 실행 결과를 바꾸나요?
- 주로 공백·줄바꿈·키워드 대소문자를 바꿉니다. 방언을 잘못 고르면 따옴표·벤더 함수 때문에 의미가 달라질 수 있으니 DB에서 실행하기 전에 확인하세요.
- 지원 방언은 무엇인가요?
- Standard SQL, MySQL, PostgreSQL, MariaDB, SQLite, BigQuery, PL/SQL, T-SQL입니다. 식별자 따옴표에 맞는 방언을 고르세요.
- SQL을 한 줄로 압축(minify)할 수 있나요?
- 아니요. 이 페이지는 읽기 쉬운 정렬(beautify)만 합니다. 한 줄 압축은 범위 밖입니다.
- 쿼리가 서버로 올라가나요?
- 아니요. 포맷은 브라우저에서만 실행됩니다.