무료 변환기

SQL 포매터 & 정리 도구

브라우저에서 SQL 쿼리를 즉시 포맷하고 정리합니다. 업로드 불필요 — 완전히 비공개이며 무료입니다.

SQL 파일을 여기에 끌어다 놓기

.sql 파일을 지원합니다. 또는 위 영역에 SQL을 붙여넣으세요.

또는

이 도구에 대하여

SQL 쿼리는 여러 테이블에 걸친 조인, 중첩된 하위 쿼리, 많은 조건이 포함된 대규모 WHERE 절, 복잡한 CASE 표현식 등 빠르게 길고 복잡해집니다. 몇 줄에 압축된 컴팩트 SQL은 읽을 수 없습니다. 일관된 대문자 사용으로 적절하게 들여쓰기된 SQL은 쿼리 구조를 한 눈에 볼 수 있게 해줍니다. 서식은 디버깅할 수 있는 쿼리와 디버깅할 수 없는 쿼리의 차이입니다.

이 포맷터는 SQL을 구문 분석하고 들여쓰기된 올바른 대소문자 구분 출력을 내보냅니다. SQL 키워드(SELECT, FROM, WHERE, JOIN, GROUP BY)는 일반적으로 대문자이고 테이블 및 열 이름은 소스와 일치하며 들여쓰기는 중첩을 반영합니다(상위 쿼리 내부에 들여쓰기된 하위 쿼리, 들여쓰기된 CASE 분기). 다중 언어 지원은 MySQL, PostgreSQL, SQL Server, Oracle 및 SQLite의 차이점을 처리합니다.

형식은 비파괴적입니다. 형식이 지정된 쿼리는 기능적으로 입력과 동일합니다. 공백과 대소문자만 변경됩니다.

SQL을 포맷하는 이유

형식화되지 않은 조밀한 SQL을 읽는 것은 정신적으로 힘든 일입니다. 어떤 조건이 어떤 JOIN에 속하는지, 하위 쿼리가 시작되고 끝나는 위치, CASE 분기가 어떻게 관련되는지 식별하는 것은 모든 것이 몇 줄에 있으면 더 어려워집니다. 형식화된 SQL은 읽기가 더 빠르고 구조를 잘못 읽는 버그를 줄여줍니다.

특히 코드 검토 이점이 있습니다. 검토자는 형식이 지정되면 쿼리의 기능을 빠르게 파악할 수 있습니다. 검토 중에 형식화되지 않은 SQL을 읽으면 건너뛰거나 고무 스탬프를 찍는 것이 좋습니다. 형식화된 SQL은 쿼리가 변경될 때 의미 있는 차이점도 생성합니다.

사용 방법

쿼리를 붙여넣고 형식을 클릭하세요.

  1. SQL을 붙여넣으세요.: 쿼리를 입력 영역에 놓습니다. 단일 문 또는 다중 문 입력이 모두 작동합니다.
  2. 방언을 선택하세요: 기본값은 일반 SQL입니다. 방언별 키워드 인식을 위해 MySQL, PostgreSQL, SQL Server 또는 Oracle을 선택하십시오.
  3. 옵션 구성: 들여쓰기 크기(일반적으로 2 또는 4개의 공백), 키워드 대소문자(대문자가 가장 일반적이며 일부 팀에서는 소문자를 선호함), 쉼표 배치(후행 또는 선행).
  4. 형식: 포맷된 출력이 즉시 나타납니다. 복사하거나 다운로드하여 사용하세요.

일반적인 사용 사례

기술적인 세부사항

서로 다른 데이터베이스는 서로 다른 방식으로 문법을 확장하므로 SQL 구문 분석에는 방언을 이해해야 합니다. 포맷터는 일반적으로 토크나이저를 사용하여 키워드, 식별자, 리터럴 및 구두점을 식별한 다음 토큰 간의 공백 및 들여쓰기에 대한 규칙을 사용하여 출력을 생성합니다.

들여쓰기 규칙: SELECT, FROM, WHERE, GROUP BY, ORDER BY를 각각 한 줄에 사용합니다. FROM 아래에 들여쓰기된 후속 줄의 조인된 테이블입니다. 가독성을 위해 WHERE의 조건을 별도의 줄에 표시합니다. 자체 들여쓰기 블록의 하위 쿼리입니다.

대소문자 규칙: 키워드 대문자(SELECT, FROM, WHERE)가 가장 일반적입니다. 일부 팀은 소문자를 선호합니다. 식별자(테이블 및 열 이름)는 소스 대소문자를 유지합니다.

모범 사례

자주 묻는 질문

서식을 지정하면 쿼리 동작이 변경되나요?
아니요. SQL 형식 지정은 공백, 줄 바꿈 및 키워드 대/소문자 지정만 조정합니다. 쿼리 논리, 실행 계획 및 결과는 동일하게 유지됩니다. 순전히 가독성이 향상되었습니다.
어떤 SQL 방언이 지원되나요?
이 도구는 표준 SQL과 특정 언어(MySQL, PostgreSQL, SQLite, SQL Server(T-SQL) 및 Oracle PL/SQL)를 지원합니다. 방언 관련 키워드 및 기능이 올바르게 인식됩니다.
하위 쿼리와 CTE를 처리합니까?
예. 공통 테이블 표현식(WITH 절), 중첩된 하위 쿼리, 창 함수 및 복잡한 JOIN 체인은 적절한 들여쓰기 수준으로 형식화됩니다.
저장 프로시저에 이것을 사용할 수 있나요?
포맷터는 단일 SQL 문을 가장 잘 처리합니다. 다중 문 프로시저, 트리거 및 함수는 작동할 수 있지만 복잡한 절차적 논리(IF/ELSE, 루프) 형식은 방언에 따라 다릅니다.
키워드는 대문자여야 하나요, 아니면 소문자여야 하나요?
컨벤션은 다양합니다. 대문자 키워드는 전통적이고 일반적입니다. 소문자는 현대적인 스타일 가이드에서 채택되고 있습니다. 하나를 선택하고 코드베이스 내에서 일관성을 유지하세요.
저장 프로시저의 형식을 지정합니까?
대부분의 포맷터는 저장 프로시저 구문(CREATE PROCEDURE, BEGIN/END 블록, 제어 흐름)을 처리합니다. 방언 관련 확장은 부분적으로 지원될 수 있습니다.
내 SQL이 업로드되었나요?
아니요. 포맷은 브라우저에서 이루어집니다.
명령줄에서 포맷할 수 있나요?
여러 SQL 포맷터는 CLI 도구(sqlfluff, sql-formatter)를 제공합니다. 일괄 형식화 또는 CI 통합에 사용하세요. 브라우저 포맷터는 임시 일회용으로 사용됩니다.