본문으로 건너뛰기
100% 개인정보 보호 — 파일은 기기 안에 그대로 유지됩니다
>_
한국어

SQL 포맷터 및 검증기

SQL을 보기 좋게 정리하거나 압축하고, 오류의 정확한 줄과 열까지 문법을 검사해요. 20가지 방언을 지원하며 모두 브라우저에서 처리돼요.

모든 작업이 브라우저 안에서 처리돼요. SQL은 어떤 서버에도 업로드되지 않아요.

옵션
1줄 · 0 B

.sql 또는 .txt 파일을 여기에 끌어다 놓거나, 붙여넣거나, 샘플을 불러오세요. Ctrl+Enter로 실행해요.

문법 검사

SQL을 붙여넣으면 문법을 검사해요.

"올바름"은 이 문법 기준으로 구문이 맞다는 뜻이에요. 검사기는 데이터베이스 스키마를 알지 못하므로 테이블이나 열이 실제로 있는지, 쿼리가 실행되는지는 알 수 없어요. 방언 고유의 문법이나 아주 최신 문법은 사용 중인 데이터베이스에서 쓸 수 있어도 오류로 처리될 수 있어요.

브라우저에서 SQL 포맷, 압축, 문법 검사

읽기 쉬운 SQL은 검토하고, 디버깅하고, 변경 내용을 비교하기가 훨씬 편해요. 이 도구는 들여쓰기, 줄바꿈, 대소문자를 일관되게 맞춰 쿼리를 다시 써 주고, MySQL, PostgreSQL, SQL Server(T-SQL), SQLite, BigQuery, Snowflake, Redshift, Oracle PL/SQL, Hive, Spark, Trino, DB2 등 약 스무 가지 방언의 특징도 이해해요. 방언을 고르고, 들여쓰기를 공백 2칸·4칸·탭 중에서 정하고, 키워드·데이터 타입·함수 이름을 대문자, 소문자, 입력한 그대로 중에서 선택할 수 있어요. 팀의 스타일에 맞게 쉼표를 줄 시작으로 옮길 수도 있어요.

문법 검사는 이 도구의 또 다른 절반이에요. 스크립트를 붙여넣으면 각 문장을 따로 검증해서 어떤 문장이 통과하고 어떤 문장이 실패했는지 한눈에 볼 수 있어요. 실패한 문장에는 줄과 열, 문제가 된 토큰, 주변 몇 줄의 내용이 표시되고, 가능하면 키워드 철자 오류, 끝 쉼표, 닫히지 않은 괄호 같은 힌트도 함께 알려줘요. 문장을 나눌 때는 문자열, 주석, 백틱, 대괄호, PostgreSQL의 달러 인용 본문을 고려하기 때문에 리터럴 안의 세미콜론 때문에 문장이 중간에 잘리는 일은 없어요.

압축은 포맷의 반대예요. 공백을 줄이고, 원하면 주석도 지워서 로그, 설정 파일, 코드에 넣기 좋은 한 줄짜리 쿼리로 만들어 줘요. 정규식이 아니라 토큰 단위로 처리하기 때문에 문자열과 따옴표로 감싼 이름 안의 텍스트는 쓴 그대로 유지돼요.

한계도 알아 두세요. 초록색 결과는 구문이 선택한 문법에 맞는다는 것을 보여 줄 뿐, 테이블이 실제로 있다거나 쿼리가 빠르고 정확하다는 뜻은 아니에요. 일부 방언과 프로시저 블록, 최신 기능은 부분적으로만 지원되고, 전용 검사기가 없는 방언도 있어요. 그런 경우에는 가장 가까운 문법을 직접 고르면 돼요. 모든 처리가 내 기기에서 이루어지므로 운영 환경의 쿼리도 안심하고 붙여넣을 수 있어요. 파일이 아주 크면 버튼을 누를 때까지 실시간 미리보기만 잠시 멈춰요.

자주 묻는 질문

"올바름"이면 쿼리가 실행되나요?

아니요. 검사기는 문법만 확인해요. 데이터베이스에 접근하지 않으므로 테이블이나 열이 있는지, 타입이 호환되는지, 권한이 있는지는 알 수 없어요. 자체 문법을 사용하기 때문에 아주 새로운 문법이나 특정 벤더 전용 문법은 사용 중인 데이터베이스에서 받아들여도 오류로 나올 수 있어요. 초록색 결과는 "SQL 형태가 올바르다", 빨간색 결과는 "이 부분을 확인해 보세요"라는 뜻으로 봐 주세요.

내 SQL이 어딘가에 업로드되나요?

아니요. 포맷, 압축, 문법 검사는 모두 브라우저의 백그라운드 워커에서 처리돼요. 서버로는 아무것도 전송되지 않아요. 선택적으로 저장되는 초안과 설정도 이 브라우저의 로컬 저장소에만 보관돼요.

포맷은 되는데 검사기는 오류를 알리는 이유가 뭔가요?

서로 다른 도구이기 때문이에요. 포맷터는 토큰과 절만 알아볼 수 있으면 되어서 비교적 너그러워요. 검사기는 선택한 방언의 전체 문법을 사용해서 더 엄격해요. 둘의 결과가 다르면 경고가 표시돼요. 결과는 그대로 보여 주지만, 표시된 줄은 한 번 살펴보는 게 좋아요.

압축하면 쿼리 동작이 달라지나요?

공백과 주석만 제거해요. 문자열, 따옴표로 감싼 식별자, 달러 인용 블록, 옵티마이저 힌트는 한 글자도 바꾸지 않고 그대로 복사하고, 붙어 있던 토큰은 계속 붙어 있어요. 만약을 위해 MySQL의 DELIMITER 블록처럼 줄바꿈에 의존하는 스크립트는 압축하지 마세요.

관련 도구