KO
내 도구

SQL 포매터

MySQL, PostgreSQL, SQL Server, Oracle 등의 SQL을 정리합니다. 키워드 대소문자, 들여쓰기, 한 줄 압축을 지원하고 오류는 줄과 열로 알려 줍니다.

출력
내 도구 →
광고

로그, ORM, BI 도구에서 붙여 넣은 긴 쿼리는 대개 읽을 수 없는 한 줄입니다. 포매터는 SELECT, FROM, JOIN, WHERE, GROUP BY 같은 절을 각각 한 줄에 두고, 거기에 속한 내용을 들여쓰며, 고른 데이터베이스의 문법을 바탕으로 원하는 키워드 대소문자를 적용합니다. 압축은 그 반대입니다. 쿼리를 코드에 넣을 수 있도록 주석과 불필요한 공백을 없앱니다.

사용 방법

  1. SQL 문을 하나 이상 붙여 넣습니다.
  2. MySQL, PostgreSQL, SQL Server 같은 방언을 골라 그 데이터베이스의 따옴표와 키워드를 인식하게 합니다.
  3. 키워드 대소문자, 들여쓰기, 문 사이의 빈 줄을 정합니다.
  4. 결과를 복사하거나, 압축으로 바꿔 한 줄짜리 간결한 버전을 얻습니다.

계산식

clause keyword on its own line; clause body indented one level; one column or condition per line; AND / OR start new lines

정리에는 오픈소스 sql-formatter 라이브러리를 쓰며, 이 라이브러리는 방언마다 따로 토큰을 나눕니다. MySQL의 백틱 이름, SQL Server의 [대괄호], PostgreSQL의 $$ 문자열 등입니다. 압축은 별도의 토크나이저로 동작합니다. 문자열이나 따옴표로 묶은 이름의 안쪽은 건드리지 않고, 옵티마이저 힌트(/*+ … */)와 MySQL /*! … */ 블록은 제거하면 쿼리의 실행 방식이 바뀔 수 있으므로 유지합니다.

예시

한 줄로 된 샘플 보고서 쿼리는 20줄이 됩니다. 들여쓴 세 개의 열이 있는 SELECT, FROM orders, ON 조건이 있는 JOIN 두 개, 두 조건이 별도의 줄에서 AND로 연결된 WHERE, 그리고 GROUP BY, HAVING, ORDER BY total DESC, LIMIT 20입니다. 키워드와 SUM 같은 함수 이름은 대문자가 되고, 테이블 이름, 별칭, 따옴표 안의 날짜는 입력한 그대로 남습니다.

자주 묻는 질문

왜 구문 분석 오류가 나나요?

대개 닫히지 않은 따옴표이거나, 표준 SQL에서 대괄호 이름을 쓰는 것처럼 한 데이터베이스의 문법을 다른 것으로 검사하는 경우입니다. 방언에서 쓰는 데이터베이스를 고르세요. 오류에는 읽기를 멈춘 줄과 열이 표시됩니다.

정리하면 쿼리의 동작이 바뀌나요?

아니요. 공백과 키워드의 대소문자만 바뀌고 식별자, 문자열, 주석은 그대로입니다. SQL 데이터베이스에서 키워드 대소문자는 중요하지 않습니다.

운영 환경의 쿼리를 붙여 넣어도 안전한가요?

네. 정리는 브라우저에서 실행되며 서버로 전송되는 것은 없습니다.

최종 업데이트:

인용·퍼가기
APA

kakaoCalc. (2026, November 8). SQL 포매터. https://kakao.mobile/ko/tools/sql-formatter/

MLA

“SQL 포매터.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/sql-formatter/.

광고