ToolDoc

SQL 포맷터 (쿼리 정렬)

한 줄로 뭉친 SQL 쿼리를 읽기 좋게 줄바꿈·들여쓰기합니다. MySQL·PostgreSQL·Oracle PL/SQL·SQL Server·SQLite 문법과 키워드 대소문자를 고를 수 있고, 한 줄 압축(minify)과 복사도 됩니다.

내 기기 안에서만 처리돼요. 서버로 전송하지 않아요.

자주 묻는 질문

입력한 쿼리가 서버로 전송되나요?

아니요. 정리와 압축은 모두 브라우저 안에서 sql-formatter 라이브러리로 처리되며 쿼리는 서버로 전송되거나 저장되지 않습니다. 테이블 이름이나 조건값이 담긴 업무용 쿼리도 안심하고 붙여 넣을 수 있습니다.

어떤 데이터베이스 문법을 지원하나요?

Standard SQL, MySQL, PostgreSQL, Oracle PL/SQL, SQL Server(T-SQL), SQLite 여섯 가지입니다. MariaDB는 MySQL을, Redshift처럼 PostgreSQL 계열은 PostgreSQL을 고르면 대부분 잘 정리됩니다.

키워드만 대문자로 바꿀 수 있나요?

됩니다. '키워드 대소문자'를 대문자로 두면 SELECT·JOIN·WHERE 같은 예약어만 대문자로 바꾸고, 테이블·컬럼 이름과 따옴표 안 문자열은 입력 그대로 둡니다. '입력 그대로'를 고르면 대소문자를 건드리지 않습니다.

압축(minify)은 무엇을 지우나요?

줄바꿈과 여러 칸 공백을 한 칸으로 줄이고, 괄호·쉼표·세미콜론 앞뒤 공백과 -- 및 /* */ 주석을 지웁니다. 따옴표 안 문자열과 식별자, PostgreSQL $$ 본문은 공백까지 그대로 둡니다.

여러 쿼리를 한 번에 정리할 수 있나요?

됩니다. 세미콜론으로 구분된 문장을 한꺼번에 붙여 넣으면 문장마다 따로 정리하고 사이에 빈 줄을 하나 넣습니다.

SQL 포맷터 (쿼리 정렬), 어떤 도구인가요?

로그나 ORM이 한 줄로 뱉어 낸 SQL, 남이 쓴 긴 쿼리를 절(SELECT·FROM·JOIN·WHERE)마다 줄을 나누고 들여써서 읽기 좋게 정리합니다. 코드 리뷰에 붙일 쿼리를 다듬거나, 느린 쿼리의 조인 구조를 파악하거나, 문서에 넣을 예제를 정리할 때 씁니다. Standard SQL·MySQL·PostgreSQL·Oracle PL/SQL·SQL Server·SQLite 문법을 고를 수 있고, 키워드를 대문자·소문자로 통일하거나 반대로 한 줄로 압축할 수도 있습니다. 오픈소스 sql-formatter로 브라우저 안에서 처리하므로 쿼리가 서버로 전송되지 않습니다.

이럴 때 쓰세요

  • 로그에 찍힌 한 줄 쿼리 읽기

    ORM이나 슬로 쿼리 로그에 한 줄로 찍힌 긴 SQL을 붙여 넣으면 조인과 조건이 줄마다 나뉘어 구조가 한눈에 보여요.

  • 코드 리뷰·문서용 쿼리 정리

    팀 규칙에 맞춰 키워드를 대문자로, 들여쓰기를 2칸이나 4칸으로 통일해 리뷰 코멘트나 위키에 붙여요.

  • 설정 파일·코드에 넣을 한 줄 쿼리

    압축(minify)을 고르면 주석과 줄바꿈을 지운 한 줄 쿼리가 나와 YAML·환경 변수·코드 문자열에 넣기 편해요.

사용 방법

  1. SQL 붙여 넣기

    정리할 쿼리를 왼쪽 입력란에 붙여 넣습니다. 세미콜론으로 구분된 여러 문장도 한 번에 정리됩니다.

    • 입력하는 동안 오른쪽 결과가 바로 바뀌어요.
    • 여러 문장은 문장 사이에 빈 줄을 하나 두고 정리해요.
  2. 문법·들여쓰기·대소문자 고르기

    쿼리를 실행할 데이터베이스에 맞는 문법(방언)과 들여쓰기(공백 2·4칸, 탭), 키워드 대소문자를 고릅니다.

    • MySQL의 백틱(`), SQL Server의 [대괄호], PostgreSQL의 $$ 본문처럼 방언마다 다른 표기를 제대로 읽으려면 문법을 맞춰야 해요.
    • 키워드 대소문자는 SELECT·FROM 같은 예약어만 바꾸고, 테이블·컬럼 이름과 문자열은 그대로 둬요.
    • '압축'을 고르면 주석과 줄바꿈을 지우고 한 줄로 만들어요.
  3. 결과 복사하기

    오른쪽 결과의 '복사' 버튼을 눌러 정리된 SQL을 클립보드에 담습니다.

    • 문법 오류가 있으면 결과 대신 몇 번째 줄 몇 번째 글자 근처인지 안내해요.
    • 결과 아래에 글자 수가 표시돼요.

자주 나는 문제와 해결

'SQL을 해석하지 못했어요'라는 오류가 나요
따옴표나 괄호 짝이 맞지 않거나, 다른 방언의 문법을 쓴 경우가 많아요. 쿼리를 쓴 데이터베이스(MySQL·PostgreSQL 등)로 문법을 바꿔 보세요.
:name이나 ? 같은 바인딩 변수가 이상하게 나뉘어요
PostgreSQL($1)·Oracle(:name)처럼 방언마다 변수 표기가 달라요. 해당 데이터베이스 문법을 고르면 변수로 인식해 그대로 둬요.
압축했더니 주석이 사라졌어요
한 줄로 합치면 -- 주석 뒤의 쿼리까지 주석이 되기 때문에 주석을 지워요. 단, MySQL 실행 힌트(/*! */)와 옵티마이저 힌트(/*+ */)는 남겨요.

주의사항

  • 포맷터는 줄바꿈과 들여쓰기만 바꾸고 쿼리 의미는 바꾸지 않지만, 운영 DB에 실행하기 전에는 결과를 한 번 더 확인하세요.
  • 문법 검사기가 아니어서, 정리가 되었다고 해서 쿼리가 실행된다는 보장은 없습니다.
  • 저장 프로시저처럼 아주 긴 PL/SQL·T-SQL 블록은 일부 구문이 기대와 다르게 줄바꿈될 수 있습니다.

공유하기

XFacebookBAND