SQL 문자열 이스케이프
선택한 SQL 방언에 맞게 문자열을 이스케이프합니다. MySQL은 백슬래시와 따옴표를, PostgreSQL/SQLite/MSSQL은 홑따옴표를 두 번 써서 처리합니다.
MySQL/MariaDB, PostgreSQL, SQLite, MSSQL용 SQL 문자열 리터럴의 escape 결과와 따옴표로 감싼 형태를 만들어보는 보조 도구입니다. 파라미터 바인딩을 대신하는 보안 기능은 아닙니다.
SQL 문자열 이스케이프 방법
- SQL 방언을 선택합니다.
- 문자열 리터럴로 표현할 텍스트를 입력합니다.
- 이스케이프된 값과 인용된 문자열 결과를 확인합니다.
- 테스트나 확인에 필요한 결과를 복사합니다.
방언별 처리
MySQL/MariaDB는 역슬래시, 따옴표, 줄바꿈, CR, NUL, Ctrl-Z 등을 역슬래시 이스케이프합니다. PostgreSQL, SQLite, MSSQL은 작은따옴표를 두 개로 만듭니다.
인용 결과는 MySQL·PostgreSQL·SQLite에서 일반 작은따옴표를 쓰고 MSSQL에서는 N'text' 형태를 만듭니다.
개인정보 및 보안 제한
변환은 브라우저에서 수행되며 이 애플리케이션이 입력 텍스트를 외부 서버로 보내지 않습니다. 이 도구를 SQL 인젝션 방어 수단으로 사용하지 마세요. 실제 서비스에서는 DB 드라이버의 prepared statement 또는 parameter binding을 사용해야 합니다.
SQL Escape Helper FAQ
Prepared Statement 대신 써도 되나요?
아닙니다. 신뢰할 수 없는 값은 반드시 DB 드라이버의 파라미터 또는 prepared statement로 전달하세요.
어떤 SQL 방언을 지원하나요?
MySQL/MariaDB, PostgreSQL, SQLite, MSSQL T-SQL을 지원합니다.
MSSQL 결과 앞에 N이 붙는 이유는 무엇인가요?
이 구현은 MSSQL 모드에서 N 접두사가 붙은 문자열 리터럴을 출력합니다.
PostgreSQL에서 E 문자열도 만들어주나요?
아닙니다. 이 구현은 작은따옴표를 두 개로 바꾸고 일반 작은따옴표로 감쌉니다.
SQL을 실제로 실행하나요?
아닙니다. 텍스트만 로컬에서 변환하며 데이터베이스에 연결하지 않습니다.