사용 방법
- SQL을 입력창에 붙여 넣거나 예시 불러오기를 누릅니다.
- 쓰는 데이터베이스에 맞는 방언, 들여쓰기, 키워드 대소문자를 고릅니다.
- 정리를 누르고 결과를 복사합니다.
예시
select id,name from users u join orders o on o.uid=u.id where u.age>18 and o.total>100 order by name limit 10
→ SELECT id, name FROM users u JOIN orders o ON o.uid = u.id WHERE u.age > 18 AND o.total > 100 ORDER BY name LIMIT 10PostgreSQL 방언, 공백 2칸 들여쓰기, 대문자 키워드입니다.
SELECT 1 FROM t
→ select 1 from t소문자 키워드 옵션을 쓴 결과입니다.
select (
→ 오류: 텍스트 끝에서 구문 오류깨진 SQL은 추측하지 않고 오류로 알려 줍니다.
계산 방식
쿼리는 오픈소스 sql-formatter 라이브러리가 읽습니다. 선택한 방언에 따라 절과 식으로 나눕니다. SELECT, FROM, WHERE, ORDER BY 같은 주요 절은 새 줄에서 시작하고, 목록의 항목은 각각 한 줄에 놓이고, 중첩된 부분은 고른 만큼 들여씁니다.
키워드 대소문자 옵션은 SELECT, FROM 같은 예약어만 바꿉니다. 테이블과 열 이름, 따옴표 안의 내용은 입력한 대소문자를 유지합니다.
선택한 방언에서 SQL로 읽을 수 없으면, 결과를 만드는 대신 문제의 위치를 알려 줍니다.
출처
자주 묻는 질문
- 쿼리를 실행하거나 검사하나요?
- 아니요. 공백과 키워드 대소문자만 바꿉니다. 절을 찾으려고 텍스트를 읽기는 하지만 쿼리를 실행하지 않고 내 테이블도 모르므로, 쿼리가 내 데이터베이스에서 맞는지는 알려 주지 못합니다.
- 방언이 왜 중요한가요?
- 데이터베이스마다 문법이 다릅니다. MySQL은 이름을 백틱으로, SQL Server는 대괄호로 감싸고, PostgreSQL에는 형 변환용 :: 같은 연산자가 있습니다. 올바른 방언을 고르면 정리 도구가 이를 제대로 읽습니다. 정리가 실패하면 다른 방언을 시도해 보세요.
- 정리하면 쿼리가 하는 일이 바뀌나요?
- 바뀌지 않아야 합니다. 공백과 키워드의 대소문자만 바뀌고, 따옴표 안의 텍스트는 그대로입니다. 그래도 중요한 쿼리는 정리 전후를 비교 도구로 비교해 보세요.
- 여러 문장을 한꺼번에 정리할 수 있나요?
- 네. 세미콜론으로 구분된 문장을 각각 정리하고 사이에 빈 줄을 넣습니다.
- SQL이 업로드되나요?
- 아니요. 정리는 브라우저 안에서 실행되며 쿼리는 밖으로 나가지 않습니다.