개발자 도구

SQL 포매터

SQL 문자열에 들여쓰기와 줄 바꿈을 추가하여 가독성을 높입니다.


변환 전

변환 후

Tips

  • SELECT·FROM·WHERE·JOIN 등의 SQL 키워드가 자동으로 줄 바꿈·정렬되며, 중첩된 서브쿼리도 적절하게 들여쓰기 됩니다.
  • "키워드 대문자 변환"을 활성화하면 키워드가 자동으로 대문자로 변환되어 가독성이 향상됩니다.
  • 들여쓰기 크기를 조정하여 팀의 코딩 컨벤션에 맞는 서식을 적용할 수 있습니다.
  • 서식 지정 후 SQL을 코드 리뷰나 문서에 붙여넣으면 읽기 쉬워집니다.
  • MySQL·PostgreSQL·Oracle 등 주요 SQL 방언을 지원합니다.

여담 ― SQL 50년 ― 관계형 데이터베이스의 역사

SQL은 1970년 EF Codd(IBM)가 논문에서 제창한 관계 모델을 기반으로 IBM이 "SEQUEL"로 개발한 것이 기원입니다(상표 문제로 SQL로 개칭). 1986년에 ANSI 표준화되어 오늘날까지 많은 데이터베이스에서 사용되고 있는 유서 깊은 언어입니다.

가장 유명한 보안 사고 중 하나가 SQL 인젝션 공격입니다. 2011년 소니 PSN(PlayStation Network) 사건에서는 1억 건 이상의 개인정보가 유출되어 손해액이 1억 7,100만 달러로 추산되었습니다. 현재도 OWASP Top 10(웹 앱 주요 취약점 순위)의 단골 항목으로 꼽히며, "준비된 구문(Prepared Statement)" 사용이 기본 대책으로 알려져 있습니다.

"WHERE 1=1"은 동적 SQL 구성의 편리한 기법이지만, SQL 인젝션의 대표적인 예이기도 합니다. 로그인 폼에 ' OR '1'='1을 입력하는 것만으로 비밀번호 없이 로그인할 수 있다는 고전적인 취약점은 지금도 보안 교육의 단골 교재로 활용되고 있습니다.