SQL 압축기
주석, 줄 바꿈, 필요하지 않은 모든 공백을 제거해 SQL을 압축하면서 문자열 리터럴, 따옴표로 묶인 식별자, 연산자는 그대로 유지합니다. 데이터베이스에 맞는 인용, 주석, 배치 규칙을 적용하려면 MySQL, PostgreSQL, T-SQL, BigQuery와 같은 방언을 선택하세요. 닫히지 않은 문자열, 주석, 괄호는 줄과 열을 표시해 보고하므로 코드에 쿼리를 삽입하는 개발자에게 적합합니다.
자주 묻는 질문
SQL 압축기는 무엇을 제거하나요?
줄 주석, 블록 주석, 줄바꿈, 들여쓰기를 제거하고, 단어나 연산자가 서로 붙어 하나로 합쳐지는 경우에만 공백 하나를 남깁니다. 문자열 리터럴과 따옴표로 감싼 식별자는 작성된 그대로 유지됩니다.
방언을 선택해야 하는 이유는 무엇인가요?
데이터베이스마다 따옴표와 주석을 처리하는 방식이 다릅니다. MySQL에서는 #을 주석으로, 백슬래시를 이스케이프 문자로 처리하고, PostgreSQL에는 달러 따옴표 문자열이 있으며, T-SQL에서는 [대괄호]와 GO 배치를 사용하고, BigQuery에서는 세 개의 따옴표로 감싼 문자열을 사용합니다. 방언을 지정하면 리터럴 안의 내용이 변경되지 않습니다.
일부 주석은 유지되나요?
예. MySQL 및 MariaDB의 실행 주석, 버전 표시자로 시작하는 블록 주석, /*+ INDEX(t) */와 같은 최적화 도구 힌트는 문 실행 방식에 영향을 주므로 유지됩니다. 그 밖의 모든 주석은 제거됩니다.
GO, / 및 DELIMITER 줄은 어떻게 처리되나요?
T-SQL의 GO 같은 배치 구분자, Oracle 스크립트의 / 줄, MySQL DELIMITER 명령은 각각 별도의 줄에 유지됩니다. 클라이언트 도구는 이들이 별도 줄에 있을 때만 인식하므로 다른 코드와 합치면 스크립트가 제대로 작동하지 않습니다.
쿼리 축약으로 문제가 생길 수 있나요?
축약기는 리터럴 바깥의 공백과 주석만 제거하고 연산자 문자 사이의 공백은 유지하므로, - -1이 주석으로 바뀌지 않습니다. 쿼리는 이전과 동일하게 실행됩니다.
어떤 오류를 감지하나요?
닫히지 않은 문자열 리터럴, 따옴표로 감싼 식별자, 블록 주석, 달러 따옴표 문자열과 균형이 맞지 않는 괄호를 찾아 줄과 열 위치를 표시합니다. 전체 SQL 문법은 검사하지 않습니다.
사용할 수 있는 방언은 무엇인가요?
표준 SQL, MySQL, MariaDB, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino 및 Db2를 지원합니다. 기본값인 표준 SQL은 백슬래시 이스케이프 없이 작은따옴표 문자열을 사용하며 식별자에는 큰따옴표, 백틱, 대괄호를 허용합니다.
키워드의 대소문자를 변경하나요?
아니요. 키워드, 식별자, 함수는 원래 대소문자를 그대로 유지합니다. 공백과 주석만 제거됩니다.
입력 크기는 최대 얼마인가요?
요청당 최대 1 MB의 SQL를 처리합니다. 문이 많은 긴 마이그레이션 스크립트도 한 번에 축약합니다.
제 SQL를 저장하나요?
아니요. 쿼리는 메모리에서 처리한 후 즉시 반환됩니다. 저장되지 않으며 요청 크기만 로그에 기록됩니다.