SQL 포매터
압축되거나 뒤섞인 SQL 쿼리를 SELECT·FROM·WHERE·JOIN 등 절 단위로 보기 좋게 정렬합니다. MySQL·PostgreSQL·SQLite 등 주요 DBMS 방언을 지원합니다.
카테고리: 개발자 도구
언제 사용하나요?
한 줄로 압축된 SQL 쿼리를 읽기 좋게 정리하거나, 코드 리뷰 전 쿼리를 표준 형식으로 포매팅해야 할 때 사용합니다.
사용 방법
- SQL 쿼리를 입력란에 붙여넣습니다.
- 포맷 버튼을 누르면 키워드와 절 단위로 정렬됩니다.
- 정리된 쿼리를 복사합니다.
입력값 안내
포맷팅할 원본 SQL 쿼리 문자열(SELECT, INSERT, UPDATE 등)을 입력합니다.
계산·변환 기준
입력된 SQL 문자열을 정규표현식이나 전용 파서를 사용해 토큰화(Tokenize)한 뒤, `SELECT`, `FROM`, `WHERE` 등 주요 SQL 예약어를 기준으로 개행(줄바꿈)과 들여쓰기를 삽입하여 AST 기반 구문 정렬을 수행합니다.
사용 예시
- 코드 리뷰 전 쿼리 정리 - PR에 포함된 한 줄짜리 SQL을 읽기 좋게 정리해 리뷰어가 쿼리 구조를 빠르게 파악하도록 돕습니다.
- DBA 커뮤니케이션 - 개발자가 작성한 쿼리를 DBA에게 전달하기 전 표준 형식으로 정리해 가독성을 높입니다.
- 레거시 쿼리 분석 - 압축되거나 줄바꿈 없이 작성된 레거시 SQL을 펼쳐 구조를 한눈에 파악합니다.
예시
- "SELECT * FROM users WHERE id=1" → 예약어 기준 들여쓰기가 적용된 다중 라인 구조로 정렬
- 한 줄로 붙은 JOIN·WHERE가 많은 쿼리 → 절 단위로 들여쓰기해 가독성 확보
- ORM이 생성한 minify 쿼리 로그 → SELECT·FROM·WHERE·ORDER BY 줄 분리 정렬
- 복잡한 서브쿼리 포함 SQL → 중첩 들여쓰기로 각 쿼리 블록 명확히 시각화
- MySQL 전용 구문 쿼리 → 방언 선택 후 MySQL 스타일로 포맷
- 긴 INSERT INTO 구문 → 컬럼과 VALUES 줄 맞춤으로 정리해 코드 리뷰 제출
주의사항
- 입력한 쿼리는 브라우저에서만 처리되며 서버로 전송되지 않습니다.
- MySQL, PostgreSQL 등 DBMS별 전용 함수나 문법은 포맷 결과가 다를 수 있습니다. 실제 실행 전 반드시 확인하세요.
계산·사용 가이드
SQL 가독성 개선
SELECT, FROM, WHERE, JOIN 같은 주요 절을 줄바꿈하고 들여쓰기해 긴 쿼리의 구조를 빠르게 파악할 수 있습니다.
실행 전 검증
포매팅은 문자열 정리일 뿐 쿼리 실행이나 DB 검증을 하지 않습니다. 실제 실행 전에는 DB 환경에서 문법과 결과를 확인하세요.
자주 묻는 질문
서버로 쿼리가 전송되나요?
아니요. 브라우저에서 SQL 문자열만 포매팅하며 쿼리가 외부 서버로 전송되거나 저장되지 않습니다. 회사 내부 데이터베이스 쿼리도 안심하고 정리할 수 있습니다.
예약어는 어떻게 표시되나요?
SELECT, FROM, WHERE, JOIN, GROUP BY 같은 SQL 예약어를 모두 대문자로 통일해 정렬합니다. 가독성 향상과 팀 코딩 컨벤션 준수에 도움이 됩니다.
아주 긴 쿼리도 정리되나요?
서브쿼리와 조인이 많은 긴 쿼리도 절 단위로 들여쓰기해 구조를 한눈에 보이게 정리합니다. 복잡한 CTE(WITH 절)나 윈도우 함수가 포함된 쿼리도 처리됩니다.
SQL 실행 결과도 보여 주나요?
아니요, 쿼리를 보기 좋게 정렬만 합니다. 실제 실행 및 결과 확인은 MySQL Workbench, DBeaver, DataGrip 같은 데이터베이스 도구에서 해야 합니다.
MySQL, PostgreSQL, MSSQL 등 방언 차이가 있나요?
포매터는 ANSI SQL 표준 문법을 기준으로 정렬합니다. MySQL, PostgreSQL, MSSQL 등 벤더별 전용 문법(예: MySQL의 LIMIT, PostgreSQL의 RETURNING)은 대부분 처리되지만, 일부 복잡한 방언 전용 구문은 정렬이 다를 수 있습니다.
관련 도구
- 코드 비교 도구 - 두 코드 또는 텍스트를 줄 단위로 비교해 추가·삭제 내용을 표시합니다.
- JSON 포매터 - JSON 문자열을 보기 좋게 들여쓰기하거나 최소화합니다. 유효성 오류도 함께 표시합니다.
- UUID 생성기 - 암호학적으로 안전한 UUID v4를 최대 20개까지 한 번에 생성합니다.
- HTML 포매터 - 한 줄로 압축되거나 들여쓰기가 엉망인 HTML 코드를 태그 계층에 맞춰 줄바꿈과 들여쓰기로 정리합니다. CMS·API에서 받은 HTML 응답을 분석할 때 특히 유용합니다.
- CSS 포매터 - minify되거나 뒤섞인 CSS 코드를 선택자·속성별로 줄 분리해 정렬합니다. @media 쿼리와 :root 변수 블록도 계층에 맞게 들여쓰기합니다.
- Cron 표현식 생성기 - 분, 시, 일, 월, 요일 값을 조합해 cron 표현식을 생성합니다.