SQL 포맷터
방언별 키워드 인식으로 SQL 포맷 또는 한 줄로 압축
로컬 실행
loading…
이 도구에 대해
로그 파일에서 갓 꺼낸 쿼리, ORM 디버그 덤프, 동료가 보낸 한 줄짜리 쿼리를 붙여넣으면 이 포매터가 일관된 들여쓰기로 읽기 좋은 절 단위로 나눠 줍니다. 여섯 가지 방언 — 표준 SQL, PostgreSQL, MySQL, SQLite, SQL Server, BigQuery — 을 지원하므로 TOP, 백틱 식별자, 배열 타입 같은 방언 고유 문법도 파서에 걸리는 대신 올바르게 포맷됩니다.
키워드 대소문자는 설정할 수 있습니다. 고전적인 모양의 UPPERCASE, 팀이 선호한다면 lowercase, 혹은 원본 그대로 두기. 압축 모드는 반대로 동작합니다 — 포맷된 쿼리를 한 줄로 접고 주석을 제거하되 문자열 리터럴은 바이트 단위로 그대로 유지하는데, SQL을 JSON 설정이나 CLI 플래그에 붙여넣기 전에 필요한 것이 정확히 이것입니다.
쿼리에는 테이블 이름, 리터럴 속 고객 데이터, 인프라 힌트가 담기기 마련입니다. 포매팅은 전부 브라우저 안에서 실행되므로 그중 무엇도 서버에 도달하지 않습니다.
자주 묻는 질문
- 어떤 SQL 방언을 골라야 하나요?
- 사용하는 데이터베이스가 쓰는 방언입니다 — 식별자, 문자열 인용, 방언 키워드가 파싱되는 방식이 달라집니다. 일반적인 정리만 필요하다면 표준 SQL이 공통 핵심을 처리합니다. 여러분의 데이터베이스에서는 유효한 문법에 파싱 오류가 난다면 대개 방언을 바꾸라는 신호입니다.
- 포매팅이 쿼리의 동작을 바꾸나요?
- 아니요. 포매팅은 공백만 움직이고, 켜져 있다면 키워드 대소문자만 바꿉니다 — 식별자와 리터럴은 바이트 그대로 유지됩니다. 지원되는 모든 방언에서 SQL 키워드는 대소문자를 구분하지 않으므로 SELECT와 select는 같은 문장입니다.
- 여러 문장을 한 번에 포맷할 수 있나요?
- 네 — 스크립트 전체를 붙여넣으면 ; 로 끝나는 각 문장이 순서대로 포맷되고 사이에 빈 줄이 들어갑니다.
- 압축은 정확히 무엇을 제거하나요?
- 줄 주석(--)과 블록 주석(/* */)이 제거되고, 연속된 공백은 하나로 접히며, 쉼표와 괄호 주변의 공백이 사라집니다. 작은따옴표·큰따옴표·백틱 안의 텍스트는 겹따옴표 이스케이프를 포함해 절대 건드리지 않습니다.