SQL 포맷터

SQL 쿼리를 보기 좋게 정렬하고 미화하세요. 9개 SQL 방언 지원, 키워드 대소문자 변환, 들여쓰기 설정, 구문 강조 기능을 제공합니다.

최종 업데이트: 2026/01/28

SQL 포맷터

방언
키워드
들여쓰기
자동 저장됨
SQL 입력
1
포맷팅 결과
1
입력 길이:0
출력 길이:0
줄 수:0
이 도구는 기본적인 SQL 포맷팅을 제공합니다. 중요한 쿼리는 사용 전 반드시 검증하세요. 데이터는 브라우저에서만 처리되며 서버로 전송되지 않습니다.

SQL 포맷터란?

SQL 포맷터는 복잡하게 작성된 SQL 쿼리를 읽기 쉽게 정리해주는 온라인 도구입니다. 한 줄로 압축된 쿼리도 적절한 들여쓰기와 줄바꿈을 적용하여 구조를 명확하게 파악할 수 있도록 변환합니다.

MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, SQLite 등 8가지 주요 SQL 방언을 지원하며, 키워드 대소문자 변환과 들여쓰기 크기 조절 옵션을 제공합니다. 구문 강조 기능으로 키워드, 문자열, 숫자, 주석을 색상으로 구분하여 가독성을 높입니다.

이런 상황에서 사용하세요

  • 압축된 쿼리 분석 – 한 줄로 된 긴 SQL 쿼리를 구조적으로 분해하여 이해할 때
  • 코드 리뷰 – 동료가 작성한 SQL을 검토하기 전에 포맷팅하여 가독성을 높일 때
  • 디버깅 – 복잡한 JOIN이나 서브쿼리에서 오류를 찾기 위해 구조를 명확히 할 때
  • 문서화 – 프로젝트 문서나 위키에 SQL을 깔끔하게 정리하여 첨부할 때
  • 학습 – SQL 구문의 구조를 시각적으로 이해하고 학습할 때
  • 코딩 스타일 통일 – 팀 내 SQL 작성 스타일을 일관되게 맞출 때
  • 로그 분석 – 애플리케이션 로그에서 추출한 쿼리를 읽기 쉽게 변환할 때

주요 기능

  • 8가지 SQL 방언 지원 – 표준 SQL, MySQL, PostgreSQL, Oracle PL/SQL, SQL Server T-SQL, MariaDB, SQLite, Amazon Redshift, Snowflake를 지원합니다. 각 방언의 특수 문법에 맞게 포맷팅됩니다.
  • 키워드 대소문자 변환 – UPPER(대문자), lower(소문자), preserve(원본 유지) 3가지 옵션으로 키워드 스타일을 선택할 수 있습니다.
  • 들여쓰기 조절 – 2칸 또는 4칸 들여쓰기를 선택하여 개인 또는 팀 스타일에 맞출 수 있습니다.
  • 구문 강조 – 키워드(파란색), 문자열(빨간색), 숫자(보라색), 주석(회색), 연산자 등에 색상을 적용하여 코드 가독성을 높입니다.
  • 줄 번호 표시 – 입력과 출력 양쪽에 줄 번호가 표시되어 특정 라인을 쉽게 참조할 수 있습니다.
  • 파일 업로드/다운로드 – .sql 파일을 직접 업로드하고, 포맷팅된 결과를 .sql 파일로 다운로드할 수 있습니다.
  • 샘플 SQL – SELECT, INSERT, JOIN, 서브쿼리, CREATE TABLE 등 5가지 샘플로 빠르게 기능을 테스트할 수 있습니다.
  • 자동 저장 – 작성 중인 SQL이 브라우저에 자동 저장되어 페이지를 새로고침해도 복구됩니다.
  • 클립보드 복사 – 포맷팅된 결과를 한 클릭으로 클립보드에 복사합니다.
  • 실시간 변환 – 입력하는 즉시 포맷팅이 적용되어 결과를 바로 확인할 수 있습니다.

사용 방법

  1. SQL 입력 – 왼쪽 입력 영역에 포맷팅할 SQL 쿼리를 입력하거나 붙여넣습니다. ‘샘플’ 버튼으로 예제를 불러올 수도 있습니다.
  2. 옵션 설정 – 상단에서 SQL 방언, 키워드 대소문자, 들여쓰기 크기를 선택합니다.
  3. 결과 확인 – 오른쪽 출력 영역에서 포맷팅된 SQL을 확인합니다. 입력과 동시에 자동으로 변환됩니다.
  4. 복사 또는 다운로드 – ‘복사’ 버튼으로 클립보드에 복사하거나, ‘다운로드’ 버튼으로 .sql 파일로 저장합니다.

지원 SQL 방언 상세

SQL 포맷터는 다음 데이터베이스 시스템의 SQL 문법을 지원합니다:

  • 표준 SQL – ANSI/ISO SQL 표준 문법. 대부분의 RDBMS에서 호환됩니다.
  • MySQL – MySQL 및 MySQL 호환 DB(Percona, TiDB 등)의 문법을 지원합니다. LIMIT, AUTO_INCREMENT 등 MySQL 고유 구문을 인식합니다.
  • PostgreSQL – PostgreSQL의 확장 문법을 지원합니다. RETURNING, UPSERT, 배열, JSON 연산자 등을 인식합니다.
  • Oracle PL/SQL – Oracle Database의 PL/SQL 프로시저 언어를 지원합니다. DECODE, NVL, ROWNUM 등 Oracle 함수를 인식합니다.
  • SQL Server T-SQL – Microsoft SQL Server의 Transact-SQL을 지원합니다. TOP, NOLOCK, 변수(@) 등을 인식합니다.
  • MariaDB – MariaDB의 MySQL 확장 문법을 지원합니다. SEQUENCE, 윈도우 함수 확장 등을 인식합니다.
  • SQLite – SQLite의 경량 문법을 지원합니다. AUTOINCREMENT, VACUUM, ATTACH 등을 인식합니다.
  • Amazon Redshift – AWS Redshift의 분석 쿼리 문법을 지원합니다. DISTKEY, SORTKEY, COPY, UNLOAD 등을 인식합니다.
  • Snowflake – Snowflake 클라우드 데이터 플랫폼의 문법을 지원합니다. VARIANT, FLATTEN, QUALIFY 등을 인식합니다.

포맷팅 규칙

SQL 포맷터는 다음과 같은 규칙을 적용하여 쿼리를 정리합니다:

  • 절 단위 줄바꿈 – SELECT, FROM, WHERE, JOIN, ORDER BY 등 주요 절을 새 줄에서 시작합니다.
  • 컬럼 정렬 – SELECT 절의 컬럼 목록을 각각 새 줄에 배치하고 들여쓰기를 맞춥니다.
  • 조건 정렬 – WHERE 절의 AND/OR 조건을 각각 새 줄에 배치하여 조건을 명확히 구분합니다.
  • 서브쿼리 들여쓰기 – 서브쿼리는 상위 쿼리보다 한 단계 더 들여쓰기하여 계층을 표현합니다.
  • 괄호 정렬 – 여는 괄호와 닫는 괄호의 위치를 일관되게 정리합니다.
  • 쿼리 간 구분 – 여러 SQL 문이 있을 경우 빈 줄로 구분합니다.

활용 팁

  • 대용량 쿼리 – 수천 줄의 SQL도 처리 가능하지만, 매우 큰 파일은 브라우저 성능에 영향을 줄 수 있습니다.
  • 주석 보존 – 단일 행(–) 및 다중 행(/* */) 주석은 그대로 보존됩니다.
  • 문자열 보존 – 작은따옴표 또는 큰따옴표로 묶인 문자열 내용은 변경되지 않습니다.
  • Tab 키 – 입력 영역에서 Tab 키를 누르면 설정된 들여쓰기 크기만큼 공백이 삽입됩니다.
  • 자동 저장 활용 – 작업 중 실수로 페이지를 닫아도 자동 저장된 내용이 복구됩니다.

자주 묻는 질문

SQL 포맷터가 구문 오류를 수정해주나요?

아니요, SQL 포맷터는 코드의 형식(들여쓰기, 줄바꿈, 대소문자)만 정리합니다. 문법 오류가 있는 SQL은 그대로 포맷팅되거나 오류가 발생할 수 있습니다. 쿼리 실행 전에는 반드시 데이터베이스에서 유효성을 검증하세요.

어떤 SQL 방언을 선택해야 하나요?

사용 중인 데이터베이스에 맞는 방언을 선택하세요. MySQL을 사용한다면 MySQL, PostgreSQL을 사용한다면 PostgreSQL을 선택합니다. 방언을 정확히 선택하면 해당 DB의 고유 함수와 문법이 올바르게 인식됩니다. 잘 모르겠다면 ‘표준 SQL’을 선택해도 대부분의 경우 잘 작동합니다.

포맷팅된 SQL이 실행 결과에 영향을 주나요?

아니요, 포맷팅은 코드의 가독성만 변경합니다. 공백, 줄바꿈, 대소문자 변경은 SQL 실행 결과에 영향을 주지 않습니다. 문자열 내부의 내용도 그대로 보존됩니다.

입력한 SQL이 서버로 전송되나요?

아니요, 모든 포맷팅은 브라우저 내에서 JavaScript로 처리됩니다. 입력한 SQL은 서버로 전송되지 않으며, 민감한 쿼리도 안전하게 사용할 수 있습니다. 자동 저장 기능도 브라우저의 로컬 스토리지만 사용합니다.

저장 프로시저도 포맷팅할 수 있나요?

기본적인 저장 프로시저 구문은 포맷팅할 수 있습니다. 하지만 매우 복잡한 PL/SQL이나 T-SQL 프로시저는 완벽하게 처리되지 않을 수 있습니다. 이 경우 각 문(statement)을 개별적으로 포맷팅하는 것을 권장합니다.

자동 저장된 내용을 삭제하려면 어떻게 하나요?

‘초기화’ 버튼을 클릭하면 입력 내용과 함께 자동 저장된 데이터도 삭제됩니다. 브라우저의 사이트 데이터를 삭제해도 저장된 내용이 지워집니다.

문의하기