Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 특수 문자를 이스케이프하는 방법 완벽 정리

문자열에 특수 문자를 포함해야 하는 경우가 종종 있습니다. 이때 해당 문자는 반드시 이스케이프(escape)하거나 보호해야 하며, 그렇지 않으면 SQL 구문 오류가 발생하거나 의도하지 않은 결과가 나올 수 있습니다. 특수 문자를 올바르게 이스케이프하기 위해 지켜야 할 기본 규칙은 다음과 같습니다.

이스케이프 문자(\)는 (\\)로 이스케이프

MySQL에서 백슬래시(\)는 기본 이스케이프 문자로 사용됩니다. 따라서 문자열 안에 실제 백슬래시 문자를 표현하려면 두 개의 백슬래시(\\)로 작성해야 합니다.

예제

mysql> Select 'A\\B';
+-----+
| A\B |
+-----+
| A\B |
+-----+
1 row in set (0.00 sec)

위 예제에서 볼 수 있듯이, 쿼리에 'A\\B'라고 입력하면 결과는 A\B로 출력됩니다. 즉, 앞의 백슬래시가 뒤의 백슬래시를 이스케이프하여 하나의 일반 백슬래시 문자로 처리된 것입니다.

자주 사용되는 기타 이스케이프 시퀀스

백슬래시 외에도 MySQL에서 자주 활용되는 이스케이프 시퀀스는 다음과 같습니다.

  • \' : 작은따옴표(')
  • \" : 큰따옴표(")
  • \n : 줄 바꿈(newline)
  • \t : 탭(tab)
  • \r : 캐리지 리턴(carriage return)
  • \0 : NULL(NUL) 문자

이러한 이스케이프 규칙을 숙지하고 있으면 문자열 데이터를 다룰 때 발생할 수 있는 오류를 예방하고, 쿼리를 더욱 안전하게 작성할 수 있습니다.