SQL 포맷터란?
SQL 포맷터(SQL Formatter)는 한 줄로 길게 이어지거나 들여쓰기가 일정하지 않은 SQL 코드를 사람이 읽기 쉬운 형태로 정리하는 도구입니다.
SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY 같은 SQL 구문을 기준으로 줄바꿈과 들여쓰기를 적용해 코드 리뷰, 디버깅, 로그 분석을 편하게 할 수 있습니다.이 페이지에서는 SQL Beautify와 SQL Minify를 모두 사용할 수 있습니다. SQL을 직접 붙여넣거나
.sql 파일을 불러온 뒤 같은 에디터에서 정리하고, 결과를 복사하거나 다시 SQL 파일로 저장할 수 있습니다.SQL 코드를 보기 좋게 정리하는 방법
SQL 코드를 에디터에 입력하고 Beautify를 선택하면 선택한 SQL 종류과 포맷 설정에 맞춰 줄바꿈과 들여쓰기가 적용됩니다. 스페이스 2칸, 스페이스 4칸, 탭 중에서 들여쓰기 방식을 선택할 수 있고, SQL 키워드를 대문자·소문자로 바꾸거나 원본 표기를 유지할 수도 있습니다.
AND와 OR의 줄바꿈 위치, 여러 SQL 문 사이의 빈 줄도 설정할 수 있어 팀에서 사용하는 스타일에 맞춰 SQL을 정리할 때 활용할 수 있습니다.MySQL·PostgreSQL·T-SQL 등 SQL 종류 선택
SQL은 공통 문법이 많지만 데이터베이스마다 전용 문법이 있습니다. 이 도구에서는 표준 SQL뿐 아니라 MySQL, MariaDB, PostgreSQL, SQLite, SQL Server의 T-SQL, Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino, ClickHouse, DuckDB 종류를 선택할 수 있습니다.
데이터베이스 전용 함수나 연산자, 식별자 표기, 프로시저 문법이 포함된 쿼리는 실제 사용하는 데이터베이스와 같은 SQL 종류를 선택하는 것이 좋습니다. 종류가 맞지 않으면 포맷터가 문법을 올바르게 해석하지 못할 수 있습니다.
SQL Minify와 주석 유지
SQL Minify는 불필요한 줄바꿈과 연속 공백을 줄여 SQL을 짧은 형태로 만드는 기능입니다. 로그나 문서에 SQL을 한 줄에 가깝게 넣거나, 긴 SQL 문자열을 간단하게 정리할 때 사용할 수 있습니다.
Minify 설정에서 일반 SQL 주석을 유지할지 선택할 수 있습니다. 다만
/*+ ... */ 형태의 Oracle optimizer hint와 /*! ... */ 형태의 MySQL version-specific comment는 실행 의미에 영향을 줄 수 있으므로 주석 제거 설정에서도 보존하도록 구성했습니다.UPDATE·DELETE 위험 쿼리 확인
에디터 아래 Console에서는 SQL을 입력하는 동안 기본적인 실행 전 확인 항목을 표시합니다.
WHERE 절이 없는 UPDATE·DELETE, 그리고 DROP·TRUNCATE 명령이 감지되면 해당 SQL 문이 시작되는 줄에 경고를 표시합니다.이 기능은 SQL 문자열의 기본 패턴을 확인하는 보조 기능입니다. 실제 데이터베이스의 트랜잭션, 권한, 실행 계획, 동적 SQL, 프로시저 내부 로직이나 실제 변경 행 수를 분석하는 기능은 아니므로 운영 쿼리는 실행 전에 별도로 검토해야 합니다.
SQL 구조 분석
경고가 없는 경우 Console에서 현재 SQL의 문장 수, 참조 테이블 수, JOIN 수, CTE 수, 바인딩 파라미터 수를 함께 확인할 수 있습니다. 감지된 SQL 문장 유형과 테이블 이름도 표시되어 긴 쿼리의 전체 구조를 빠르게 파악하는 데 사용할 수 있습니다.
여러 SQL 파일을 탭으로 편집
하나의 SQL만 편집하는 것이 아니라 여러
.sql 파일을 각각의 탭으로 열어 작업할 수 있습니다. 새 SQL 탭을 만들거나 파일을 불러온 뒤 탭을 전환하면서 쿼리를 비교하고 정리할 수 있으며, 각 탭은 독립적인 Undo·Redo 기록을 가집니다.자동 저장과 브라우저 내 작업 복구
자동 저장을 켜두면 현재 SQL 코드와 열린 파일 탭, 파일 이름을 브라우저의 로컬 저장 공간에 저장합니다. 페이지를 새로고침한 뒤에도 이전 작업을 이어서 사용할 수 있으며, 자동 저장이 필요하지 않다면 언제든지 끌 수 있습니다.
자동 저장 내용은 현재 브라우저에만 저장됩니다. 브라우저 저장 공간이나 사이트 데이터를 삭제하면 저장된 작업도 함께 사라질 수 있습니다.
라이트·다크 테마와 전체화면
SQL 에디터는 라이트 테마와 다크 테마를 지원하며 기본적으로 기기의 시스템 테마를 따릅니다. 긴 SQL을 집중해서 확인해야 할 때는 전체화면으로 전환해 600px 콘텐츠 영역의 제한 없이 넓게 편집할 수 있습니다.
SQL 포맷터가 필요한 경우
- 애플리케이션 로그에서 복사한 한 줄 SQL을 보기 좋게 정리할 때
- 여러 JOIN과 서브쿼리, CTE가 포함된 SQL 구조를 확인할 때
- 코드 리뷰 전에 SQL 들여쓰기와 키워드 스타일을 통일할 때
- MySQL·PostgreSQL·T-SQL 등 데이터베이스별 SQL을 정리할 때
- SQL의 불필요한 공백과 줄바꿈을 줄여 Minify할 때
- UPDATE·DELETE 실행 전 WHERE 절 누락 여부를 한 번 더 확인할 때
- 여러 SQL 파일을 탭으로 열어 비교하고 다시 파일로 저장할 때
SQL 포맷팅이 쿼리 실행 결과를 바꾸나요?
Beautify는 공백, 줄바꿈, 들여쓰기와 키워드 표기를 정리해 사람이 읽기 쉽게 만드는 것이 목적입니다. 하지만 데이터베이스별 전용 문법이나 복잡한 프로시저, 사용자 정의 문법이 포함된 SQL은 선택한 종류에 따라 포맷 결과가 달라질 수 있으므로 중요한 운영 SQL은 포맷 후에도 실제 데이터베이스 환경에서 검토하는 것이 좋습니다.
자주 묻는 질문
- Q. 한 줄로 된 SQL도 자동으로 정리할 수 있나요?A. 가능합니다. SQL을 붙여넣고 Beautify를 선택하면 선택한 SQL 종류와 포맷 설정에 맞춰 여러 줄과 들여쓰기 형태로 정리합니다.
- Q. MySQL과 PostgreSQL SQL을 같은 방식으로 포맷해도 되나요?A. 기본 SQL은 비슷하지만 데이터베이스 전용 문법이 포함될 수 있으므로 실제 사용하는 DB와 같은 SQL 종류를 선택하는 것이 좋습니다.
- Q. SQL 파일을 직접 불러오고 다시 저장할 수 있나요?A. 가능합니다. SQL 또는 텍스트 파일을 새 탭으로 불러올 수 있고, 작업이 끝난 SQL을 원하는 파일 이름의 .sql 파일로 저장할 수 있습니다.
- Q. SQL Minify를 하면 문자열 안의 공백도 없어지나요?A. 작은따옴표 문자열, quoted identifier, PostgreSQL dollar-quoted string처럼 보호가 필요한 영역은 별도로 분리해 내용 자체를 공백 정리 대상으로 사용하지 않습니다.
- Q. SQL 주석을 제거해도 안전한가요?A. 일반 설명 주석은 제거할 수 있지만 일부 데이터베이스의 주석 문법은 실행 계획이나 버전별 실행 동작에 영향을 줄 수 있습니다. 이 구현은 Oracle optimizer hint와 MySQL version-specific comment를 보존합니다.
- Q. WHERE 없는 UPDATE나 DELETE를 자동으로 막아주나요?A. 아닙니다. SQL을 실행하는 기능이 아니라 위험할 수 있는 패턴을 Console에 경고로 표시하는 기능입니다. 실제 실행 전에는 대상 데이터와 트랜잭션 범위를 직접 확인해야 합니다.
- Q. 작업 내용은 새로고침하면 사라지나요?A. 자동 저장이 켜져 있으면 현재 SQL과 열린 탭을 브라우저에 저장해 새로고침 후에도 이어서 사용할 수 있습니다.
- Q. 다크 모드와 전체화면을 지원하나요?A. 지원합니다. 시스템 테마를 자동으로 따르거나 라이트·다크 테마를 직접 선택할 수 있으며, 전체화면으로 넓게 편집할 수도 있습니다.



