SQL 포매터
읽기 어려운 한 줄의 SQL을 붙여넣기만 하면, 아름답게 정렬 및 구문 강조.
서버 전송 없음. 완전 로컬 처리.
개요
로그에 출력된 거대한 한 줄의 SQL이나 들여쓰기가 망가진 읽기 어려운 SQL 문을 브라우저상에서 순식간에 아름다운 들여쓰기가 적용된 쿼리로 정렬(포맷)하는 무료 온라인 개발 지원 도구입니다.
또한, 입력과 동시에 데이터베이스 예약어(SELECT, FROM, WHERE 등)를 자동으로 대문자로 변환하고 다채로운 '구문 강조(Syntax Highlight)'를 적용하여 복잡한 쿼리의 구조를 직관적으로 파악할 수 있습니다.
모든 처리는 브라우저 내의 JavaScript(Web Worker)로 수행됩니다. 서버와 통신이 전혀 발생하지 않으므로 기밀성이 높은 SQL 쿼리도 안전하게 정렬할 수 있습니다.
사용법
방언 및 옵션 선택
사용 중인 데이터베이스(MySQL, PostgreSQL 등)에 맞춰 상단 메뉴의 'SQL 방언'을 변경합니다. 들여쓰기 너비나 대문자 변환도 설정할 수 있습니다.
SQL 붙여넣기
왼쪽의 '원본 SQL' 영역에 정렬하려는 SQL 문을 붙여넣습니다. 입력과 동시에 자동으로 처리가 시작됩니다.
결과 복사
약 0.2초 후에 오른쪽에 포맷된 SQL이 표시됩니다. '복사' 버튼으로 클립보드에 저장할 수 있습니다.
용어집
- SQL (Structured Query Language)
- 관계형 데이터베이스를 조작하기 위한 질의 언어. SELECT 문으로 데이터 조회, INSERT 문으로 데이터 삽입 등 표준화된 구문으로 DB를 제어합니다.
- 들여쓰기 (Indentation)
- 코드의 계층 구조를 시각적으로 표현하기 위해 들여 쓰는 것. SQL 포맷에서는 서브 쿼리나 JOIN 절의 중첩 구조를 들여쓰기로 알기 쉽게 표시합니다.
- 예약어 (Reserved Words)
- SQL 언어에서 특별한 의미를 지닌 키워드(SELECT, FROM, WHERE 등). 포맷 시 대문자로 변환하면 가독성이 크게 향상됩니다.
- 서브 쿼리 (Subquery)
- SQL 문 안에 중첩되어 작성되는 또 다른 SELECT 문. 포매터는 서브 쿼리를 적절히 들여쓰기하여 중첩 구조를 시각적으로 명확하게 합니다.
- JOIN 절
- 여러 테이블을 결합하는 SQL 구문. INNER JOIN, LEFT JOIN, RIGHT JOIN 등의 종류가 있으며, 포맷에서는 각각 줄바꿈 및 들여쓰기됩니다.
- 코드 포매터
- 소스 코드를 정렬하는 도구. 공백·줄바꿈·들여쓰기를 일정한 규칙에 따라 자동 조정하여 코드의 가독성과 유지 보수성을 향상시킵니다.
- 구문 강조 (Syntax Highlight)
- 키워드·함수·문자열 등을 각각 다른 색상으로 표시하는 기능. SQL 구조를 시각적으로 파악하기 쉽게 해줍니다.
자주 묻는 질문
- Q.입력한 SQL은 서버로 전송되나요?
- 아니요. SQL 정렬 처리는 모두 브라우저 내의 JavaScript에서 완료되며, 입력한 쿼리가 외부로 전송되는 일은 절대 없습니다. 운영 환경의 SQL도 안전하게 포맷할 수 있습니다.
- Q.지원하는 SQL 방언은 무엇인가요?
- MySQL, PostgreSQL, SQLite, SQL Server 등 주요 RDBMS의 구문을 지원합니다. 표준 SQL 구문은 대부분의 방언에서 올바르게 포맷됩니다.
- Q.예약어는 자동으로 대문자로 변환되나요?
- 네. SELECT, FROM, WHERE, JOIN 등의 SQL 예약어는 자동으로 대문자로 변환됩니다. 이 동작은 설정에서 변경할 수도 있습니다.
- Q.매우 긴 SQL도 처리할 수 있나요?
- 네. 수백 줄 규모의 SQL 쿼리도 고속으로 포맷할 수 있습니다. 저장 프로시저 등의 복잡한 구문도 지원합니다.
- Q.포맷 스타일(들여쓰기 너비 등)을 사용자 지정할 수 있나요?
- 들여쓰기 너비(2칸 공백/4칸 공백/탭)나 키워드의 대소문자 등의 설정을 사용자 지정할 수 있습니다.
- Q.정렬 결과를 복사하려면 어떻게 해야 하나요?
- 복사 버튼을 클릭하면 정렬된 SQL이 클립보드에 복사됩니다. 그대로 편집기나 쿼리 도구에 붙여넣어 사용하세요.
- Q.SQL 실행이나 유효성 검사도 진행되나요?
- 아니요. 본 도구는 SQL의 형태를 정리하는 포매터입니다. 구문 확인이나 실행 기능은 포함되어 있지 않습니다. 실행은 이용하시는 DB 관리 도구에서 해주세요.
활용 사례
💼 업무 디버깅
ORM이 자동 생성한 거대한 한 줄의 SQL 로그를 읽기 쉽게 변환하여 N+1 문제나 비효율적인 JOIN이 없는지 조사합니다.
📝 코드 리뷰
팀원이 작성한 들여쓰기가 맞지 않는 SQL 문을 통일된 포맷으로 정렬합니다.
📊 문서 작성
사양서나 위키에 SQL을 기재할 때 보기 쉽게 강조된 코드 블록을 만들기 위한 준비 단계로 사용합니다.
📚 학습 및 교육
웹상의 복잡한 SQL을 붙여넣고 읽기 쉬운 들여쓰기로 변환하여 동작을 이해하는 교재로 활용합니다.
Send Feedback
Please let us know your thoughts to help us improve the tool.
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.