# 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를 저장하나요?

아니요. 쿼리는 메모리에서 처리한 후 즉시 반환됩니다. 저장되지 않으며 요청 크기만 로그에 기록됩니다.

여기에 광고를 게재하시겠어요?

[이메일 보내기](mailto:hi@dennn.is?subject=OneClick%20Pro%20%EA%B4%91%EA%B3%A0%20%EB%AC%B8%EC%9D%98)

[광고 WordPress을 위한 에이전트 지원 플러그인 모음입니다.](https://sleekwp.com/?ref=oneclickpro)
