본문으로 건너뛰기

MySQL 포맷터

백틱 식별자, 문자열의 백슬래시 이스케이프, # 주석, DELIMITER 블록을 처리하는 MySQL 규칙에 따라 MySQL 쿼리와 스크립트를 포맷합니다. 각 절은 별도 줄에서 시작하고, 열과 조건은 들여쓰기하며, ON DUPLICATE KEY UPDATE와 같은 MySQL 절은 한데 유지됩니다. 닫히지 않은 문자열, 주석, 괄호를 줄과 열 위치와 함께 표시하므로 개발자가 데이터베이스 코드를 읽고 검토하기 편합니다.

초기화

자주 묻는 질문

포맷터는 어떤 MySQL 구문을 이해하나요?

백틱 식별자, 백슬래시 이스케이프와 중복 따옴표가 있는 작은따옴표 및 큰따옴표 문자열, 16진수·비트·국가별 리터럴(예: X'FF', B'101', N'text'), _utf8mb4'text'와 같은 문자 집합 도입자, @user 변수를 읽습니다. 리터럴 안의 내용은 작성된 그대로 유지됩니다.

주석은 어떻게 처리하나요?

해시 주석(#)과 이중 대시 주석(--)은 그대로 유지됩니다. MySQL에서처럼 이중 대시는 뒤에 공백이나 줄바꿈이 있을 때만 주석을 시작하므로, a--1은 표현식으로 유지됩니다. 실행 가능한 버전 주석은 작성된 그대로 유지됩니다.

쿼리는 어떻게 배치되나요?

SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT와 같은 주요 절은 별도 줄에서 시작하고, 내용은 그 아래에 들여쓰기됩니다. 선택한 열은 한 줄에 하나씩 배치되며, AND와 OR는 새 줄에서 시작하고 JOIN도 각각 별도 줄에 배치됩니다.

MySQL 전용 절도 지원하나요?

예. ON DUPLICATE KEY UPDATE, LOCK IN SHARE MODE, FOR UPDATE, FOR SHARE는 여러 줄로 나뉘지 않고 하나의 절로 함께 유지됩니다.

저장 프로시저와 트리거도 포맷할 수 있나요?

예. DELIMITER 명령은 별도 줄에 유지되고, // 또는 $$와 같은 사용자 지정 구분자가 문을 끝냅니다. IF, WHILE, LOOP가 포함된 BEGIN 및 END 블록은 들여쓰기됩니다.

키워드의 대소문자를 변경하나요?

아니요. 키워드, 함수 이름, 식별자는 입력한 대소문자를 그대로 유지하므로 select와 SELECT 모두 입력 그대로 남습니다. 공백과 줄바꿈만 변경됩니다.

포맷터가 쿼리의 유효성을 확인하나요?

문자열, 따옴표로 감싼 식별자, 블록 주석이 닫혔는지와 괄호의 균형이 맞는지 확인하고 문제의 줄과 열 위치를 표시합니다. 쿼리를 실행하거나 테이블 이름 및 전체 MySQL 문법을 검사하지는 않습니다.

들여쓰기를 바꿀 수 있나요?

예. 각 단계에 2칸 또는 4칸의 공백이나 탭을 선택할 수 있습니다. 짧은 괄호 목록은 한 줄에 유지하고, 긴 목록과 하위 쿼리는 들여쓴 블록으로 배치합니다.

입력 크기는 최대 얼마인가요?

요청당 최대 1 MB의 SQL를 처리하며, 단일 문은 최대 128 KB까지 지원합니다. 문이 여러 개인 스크립트는 문별로 포맷하고 빈 줄로 구분합니다.

제 SQL를 저장하나요?

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

OneClick Pro 소개

OneClick Pro은 일상 업무에 활용할 수 있는 150개 이상의 웹 도구를 무료로 모아 제공합니다. 이미지와 단위를 변환하고, 코드를 포맷하고 검증하고, 도메인과 SEO를 확인하고, 텍스트와 날짜, 숫자를 다룰 수 있습니다. 모든 도구는 가입이나 구독 없이 사용할 수 있으며, 입력한 내용은 결과를 계산하는 데만 사용되고 저장되지 않습니다. 한 번 쓰는 작업을 위한 빠른 도구 모음으로 활용하거나, 매일 자주 쓰는 도구를 북마크해 두세요.