SQL 포매터
키워드, 표현식, 조인, 문자열, 주석과 쿼리 구조를 유지하면서 SQL에 일관된 들여쓰기를 적용합니다.
Make SQL queries easier to review
긴 SQL 쿼리가 한 줄에 있으면 조인과 필터, 열과 중첩 표현식을 확인하기 어렵습니다. 이 도구는 검토하기 쉬운 구조로 배치합니다.
서식 변경은 표현을 바꿀 뿐 안전성, 성능, 권한, 데이터베이스 버전 적합성을 증명하지 않습니다. 원본과 diff를 보관하세요.
alias, join, predicate, aggregate나 comment가 있는 대표 쿼리로 시험하고 운영에서 미검토 statement를 실행하지 마세요.
Formatting is not SQL validation
SQL은 statement, identifier, literal, operator, clause, join, subquery와 comment를 표현합니다. 서식은 관계를 보기 좋게 나눕니다.
Formatter는 공백을 배치하지만 권한, 테이블 존재, schema, transaction, query plan이나 업무 의미를 검증하지 않습니다.
SQL dialect마다 키워드, quoting, 함수와 확장이 다르므로 대상 데이터베이스 도구로 시험해야 합니다.
How to format SQL
- 완전한 쿼리나 지원되는 statement를 입력합니다.
- SELECT 목록, aliases, joins, 조건, grouping, ordering, subquery와 comments를 확인합니다.
- 문자열, identifiers, placeholders, operators와 clause 순서가 유지되는지 원본과 비교합니다.
- 실행 전 parser, linter, explain plan, 권한 검토와 프로젝트 테스트를 실행합니다.
- credentials와 개인정보를 샘플에서 제거합니다.
Formatting method
- 입력 SQL에서 keywords,
입력 SQL에서 keywords, clauses, expressions, literals, comments와 중첩 영역을 읽습니다.
- 줄바꿈과 들여쓰기로 SELECT,
줄바꿈과 들여쓰기로 SELECT, JOIN, 조건과 subquery를 분리합니다.
- 문자열, identifiers, placeholders,
문자열, identifiers, placeholders, operators, comments와 순서를 원본에 맞게 보존합니다.
dialect 지원, parser recovery, comment 처리, identifier quoting과 오류 문구는 실제 엔진에서 확인해야 합니다.
Read the formatted result
성공 결과는 입력 SQL의 읽기 쉬운 배치입니다. 열, literals, aliases, joins, 조건과 clause 순서를 확인하세요.
실패가 특정 dialect나 recovery 규칙을 증명하는 것은 아닙니다.
실행 실패나 느린 쿼리는 syntax, 권한, schema, plan, index와 데이터를 별도로 조사하세요.
흔한 실수
들여쓰기를 안전성이나 성능 검토로 오해하면 넓은 filter나 비의도 join을 놓칠 수 있습니다.
literal, identifier, placeholder와 comment를 바꾸면 애플리케이션 동작이 달라질 수 있습니다.
모든 데이터베이스가 같은 dialect를 쓴다고 가정하지 마세요.
운영 SQL이나 credentials를 샘플에 붙여 넣지 마세요.
제한 사항 및 특수 사례
이 기능은 SQL 표시 형식입니다. syntax, 권한, schema, 성능, transaction 안전성이나 실행 결과를 보장하지 않습니다.
vendor dialect, procedural SQL, quoted identifiers, comments와 큰 쿼리는 대상 도구에서 시험하세요.
기밀 SQL을 정책 확인 없이 입력하지 마세요.
Examples
서식이 SQL을 검증하나요?
서식이 SQL을 검증하나요?
완전한 쿼리나 지원되는 statement를 입력합니다.
성공 결과는 입력 SQL의 읽기 쉬운 배치입니다. 열, literals, aliases, joins, 조건과 clause 순서를 확인하세요.
쿼리 결과가 바뀌나요?
쿼리 결과가 바뀌나요?
SELECT 목록, aliases, joins, 조건, grouping, ordering, subquery와 comments를 확인합니다.
실패가 특정 dialect나 recovery 규칙을 증명하는 것은 아닙니다.
문자열 literal이 보존되나요?
문자열 literal이 보존되나요?
문자열, identifiers, placeholders, operators와 clause 순서가 유지되는지 원본과 비교합니다.
실행 실패나 느린 쿼리는 syntax, 권한, schema, plan, index와 데이터를 별도로 조사하세요.
모든 SQL dialect를 지원하나요?
모든 SQL dialect를 지원하나요?
실행 전 parser, linter, explain plan, 권한 검토와 프로젝트 테스트를 실행합니다.
성공 결과는 입력 SQL의 읽기 쉬운 배치입니다. 열, literals, aliases, joins, 조건과 clause 순서를 확인하세요.
성능이 좋아지나요?
성능이 좋아지나요?
credentials와 개인정보를 샘플에서 제거합니다.
실패가 특정 dialect나 recovery 규칙을 증명하는 것은 아닙니다.
주석이 보존되나요?
주석이 보존되나요?
완전한 쿼리나 지원되는 statement를 입력합니다.
실행 실패나 느린 쿼리는 syntax, 권한, schema, plan, index와 데이터를 별도로 조사하세요.
Frequently asked questions
서식이 SQL을 검증하나요?
아니요. 대상 dialect용 parser, linter, DB client와 테스트를 사용하세요.
쿼리 결과가 바뀌나요?
지원되는 입력에서는 레이아웃만 바뀌어야 하지만 텍스트와 실행 결과를 비교하고 시험하세요.
문자열 literal이 보존되나요?
예제는 literal을 유지합니다. 공백과 escape가 중요하면 diff를 확인하세요.
모든 SQL dialect를 지원하나요?
그렇게 가정하지 마세요. vendor 문법은 대상 도구에서 확인해야 합니다.
성능이 좋아지나요?
아니요. explain plan, index, 통계와 DB 튜닝을 사용하세요.
주석이 보존되나요?
예제는 주석을 review content로 유지합니다. 실제 입력에서 확인하세요.
위험한 SQL을 안전하게 만드나요?
아니요. parameterize하거나 권한을 바꾸거나 위험한 statement를 제거하지 않습니다.
서식 후 무엇을 해야 하나요?
diff, dialect checks, tests, 권한과 plan을 검토한 뒤 통제된 workflow에서 실행하세요.
