SQL 포매터·압축기
SQL을 절마다 줄을 나눠 정리하거나 한 줄로 압축합니다. MySQL, PostgreSQL, SQLite, SQL Server, BigQuery를 지원합니다.
코드 예제
내 프로젝트에 그대로 복사해서 쓰세요. 모든 예제는 해당 언어의 표준 라이브러리만 사용하므로 설치할 것이 없습니다.
const sql = 'SELECT\n name,\n email\nFROM\n users\nWHERE\n active = 1'
console.log(sql.replace(/\s+/g, ' ').trim())기능
SQL을 절마다 줄을 나눠 정리하거나 한 줄로 압축합니다. 표준 SQL 외에 MySQL, PostgreSQL, SQLite, T-SQL(SQL Server), BigQuery를 읽을 수 있으며, 구문 오류는 행과 열과 함께 표시됩니다.
사용 방법
- SQL을 붙여넣거나
.sql파일을 끌어다 놓으세요. - 정리 또는 압축을 고른 다음 방언, 키워드 대소문자, 들여쓰기를 고르세요.
- 결과를 복사하거나 내려받거나, 출력을 입력으로 사용으로 다음 입력으로 쓰세요.
예시
select id,name from users where active=1을 정리하면 SELECT, FROM, WHERE가 각자 한 줄이 되고 열과 조건이 그 아래에 들여쓰기됩니다. 정리한 쿼리를 압축하면 SELECT id,name FROM users WHERE active = 1이 됩니다.
알아두기
- 바뀌는 것은 공백과, 선택한 경우 키워드의 대소문자뿐입니다. 이름, 문자열, 숫자는 입력한 그대로입니다.
- 압축은
--와/* */주석을 지우지만, 데이터베이스가 실행하는 MySQL의/*! */주석과 옵티마이저 힌트/*+ */는 남깁니다. - 데이터베이스의 방언을 고르세요. 백틱은 MySQL, 대괄호는 T-SQL,
::형 변환은 PostgreSQL입니다. - 포매터는 처음 정리할 때 불러오므로 첫 결과는 잠시 걸릴 수 있습니다. 압축은 다운로드가 필요 없습니다.
방언이 왜 중요한가요?
데이터베이스마다 이름과 연산자를 쓰는 방식이 다릅니다. MySQL은 백틱, T-SQL은 대괄호로 이름을 감싸고, PostgreSQL에는 :: 형 변환과 $$ 문자열이 있습니다. 방언이 맞지 않으면 올바른 SQL도 읽지 못하거나 이상하게 정리될 수 있습니다.
자주 묻는 질문
정리하면 쿼리 동작이 바뀌나요?
아니요. 공백과, 선택한 경우 키워드의 대소문자만 바뀝니다. 이름, 문자열, 숫자는 입력한 그대로입니다. 압축은 주석을 지우지만, 데이터베이스가 실행할 수 있는 MySQL의 /*! */ 와 /*+ */ 주석은 남깁니다.
왜 구문 오류가 나오나요?
쿼리를 정리하려면 먼저 읽어야 하므로, 읽을 수 없는 첫 토큰에서 멈추고 그 행과 열을 알려 줍니다. 먼저 방언을 확인한 다음 표시된 위치를 살펴보세요. 쉼표, 따옴표, 닫는 괄호가 빠졌을 수 있습니다.
이 도구가 내 SQL을 어딘가로 보내나요?
아니요. 모든 작업은 브라우저에서 이루어집니다. 입력한 내용은 저희 서버로 전송되지 않습니다.