실제 방언 선택
MySQL, PostgreSQL, SQLite, SQL Server, Oracle은 인용 규칙이 다릅니다. PostgreSQL 선택은 MySQL 쿼리를 번역하는 기능이 아니라 이번 처리에 사용할 문법을 바꾸는 기능입니다.
데이터베이스 및 SQL 도구
쿼리의 계층과 원문을 함께 확인
브라우저에서만 처리합니다. 데이터베이스 연결이나 이력 저장은 없습니다.
SQL을 입력하거나 예제를 선택하세요.
SQL 포맷터는 로그에서 꺼낸 긴 쿼리나 리뷰 전의 복잡한 문장을 읽는 데 유용합니다. 먼저 쿼리가 작성된 방언을 고르세요. 비슷한 따옴표도 데이터베이스에 따라 다른 의미를 가질 수 있습니다.
SQL 정렬로 조인과 하위 쿼리를 드러내고 SQL 들여쓰기를 통일하세요. SQL 압축은 토큰 밖의 공백을 줄입니다. 보기 좋게 정리됐다는 사실과 실제 서버에서 실행 가능하다는 사실은 구분해야 합니다.
SQL 포맷터는 절을 나누고 들여쓰기를 맞춥니다. 문자열, 숫자 표기와 주석을 원문과 대조하며, 보존 여부를 확인할 수 없는 변경은 결과로 내보내지 않습니다.
AST 모드는 별도 파서로 네 방언의 지원 범위를 분석합니다. Oracle은 서식만 지원하고 AST는 제공하지 않습니다. 트리는 파서의 해석이며 데이터베이스 실행 계획이 아닙니다.
MySQL, PostgreSQL, SQLite, SQL Server, Oracle은 인용 규칙이 다릅니다. PostgreSQL 선택은 MySQL 쿼리를 번역하는 기능이 아니라 이번 처리에 사용할 문법을 바꾸는 기능입니다.
정렬은 읽기 편한 배치, 압축은 공백 감소, AST는 JSON 구조 확인에 쓰세요. AST에는 숫자와 입력 복잡도에 대한 더 엄격한 한도가 있습니다.
자동 처리는 350ms 뒤 갱신합니다. 끄면 버튼이나 Ctrl/Cmd+Enter로 실행하세요. 결과를 입력으로 사용하면 미리보기가 열리며, 적용 후 이전 설정과 결과까지 되돌릴 수 있습니다.
sql-formatter를 사용하며 공백 2개, 4개 또는 탭을 고를 수 있습니다. 키워드는 대문자·소문자·원문 유지가 가능하고 식별자, 함수와 자료형의 대소문자는 설정으로 유지합니다. 구조 키워드만 대소문자를 바꿉니다. ACTION이나 NO 같은 문맥 의존 단어는 식별자 보호를 위해 원문 표기를 유지합니다.
토큰 밖의 공백을 줄이고 줄 주석, 블록 주석과 실행 힌트를 남깁니다. PostgreSQL의 인접 문자열에 필요한 줄바꿈도 보존하므로 결과가 항상 한 줄이 되지는 않습니다.
node-sql-parser가 지원하는 MySQL, PostgreSQL, SQLite, Transact-SQL의 부분 문법을 분석합니다. JSON 내보내기는 현재 트리만 담고 편집 이력이나 이전 입력은 포함하지 않습니다.
방언과 들여쓰기를 일정하게 유지하면 조인, 조건과 하위 쿼리를 읽기 쉽습니다. 이 SQL 포맷터는 배치와 구문 트리 확인을 분리합니다. 바꾼 쿼리는 실제 데이터베이스 맥락에서도 검토하세요.
절을 눈에 띄게 만드는 스타일 관례입니다. 프로젝트에서 소문자를 쓴다면 소문자나 원문 유지를 고르세요. 문자열 내용이나 따옴표로 감싼 식별자를 대문자로 만드는 설정은 아닙니다.
압축 모드를 선택하면 토큰과 주석을 남기고 바깥 공백을 줄입니다. 줄 주석 뒤나 PostgreSQL 인접 문자열 사이의 필수 줄바꿈은 유지하므로 무조건 한 줄로 만들지는 않습니다.
AST는 이 파서가 해당 문법을 받아들이는지 알려줍니다. 실제 테이블, 열 자료형, 권한과 서버 동작은 검사할 수 없습니다. 서식 결과만 나온 경우에는 배치 작업이 성공했다는 뜻입니다.
psql의 역슬래시 명령 같은 문장은 일반 SQL이 아닌 클라이언트 지시문입니다. 원본 스크립트를 별도로 보관하고 정렬할 쿼리만 꺼내세요. 이 도구는 그 지시문을 해석하지 않습니다.
서식 문제를 발견했나요?