본문 바로가기
programming/DataManage

mysql 특수문자 이스케이프 사용하기 문자열을 자유롭게 사용한다

by 개코 - 개발과 코딩 2023. 2. 16.

mysql 에서 특수문자를 처리할 때는 이스케이프 구문은 백슬레시를 추가하여 사용할 수 있다. 특수문자는 프로그래밍언어에서 이미 키워드로써 사용되는 문자들을 의미한다. 대표적으로 따옴표와 쌍따옴표가 있다. 이들을 사용하기 위해선 문자 앞에 역슬레시 ( \ ) 를 추가하면 문자열에서 특수문자를 사용할 수 있다.

mysql 특수문자 이스테이프 사용하기
문자열을 자유롭게 사용한다

프로그램 개발을 할 때면 특수문자가 사람을 괴롭히고 귀찮게 한다.

이스케이프 ( escape ) 를 적용해야 하는 특수문자들은 주로 문자열을 표현할 때 사용한다.

이런 특수문자들은 역슬레쉬 ( \ ) 를 따옴표를 사용하기도 하는데 특히 mysql 에서는 역슬레시를 사용하는 경우도 있고 따옴표를 추가하여 사용하는 경우들이 있다.

단어하나를 강조하기 위한 따옴표를 표시할 때가 그러한데, 이런 경우를 방지하고자 따옴표를 다른 아스키로 변경하기도 한다.

mysql 에서 사용되는 특수문자는 11가지 종류이다.

특수문자와 이스케이프 ( escape )

특수문자들의 용도는 여러가지가 있다.

줄바꿈도 있고, 탭도 있다. 하물며 따옴표와 쌍따옴표도 특수문자로 사용된다.

프로그래밍 언어에서 이미 키워드로써 사용되는 것들이기 때문에 이스케이프 ( escape ) 처리를 해주어야 한다.

escape 란 영어 단어를 살펴보면 뜻은 피하다. 자유롭게 하다. 탈출하다 와 같은 뜻을 지닌다.

뜻이 좀 난해한데 문장을 찾아보면 어떤 것을 하기 위해 제약을 풀고 자유롭게 하다란 의미를 가진다.

즉, 프로그래밍에서 키워드로써 사용되는 특수문자들을 문자열과 함께 사용하도록 하는 것이다.

특수문자 escape 종류

mysql 에서의 특수문자의 종류를 살펴보자.

자주 사용되는 것들도 있지만, 그렇지 않은 것들이 더 많을 것이다.

하물며 빈칸도 존재한다. 아래는 모두 문자 ( character ) 로 처리된다.

  • \0 - 아스키코드의 널 ( NUL )
  • \' - 따옴표
  • \" - 쌍따옴표
  • \b - 백스페이스 ( backspace )
  • \n - 줄바꿈 ( New Line , Line Feed )
  • \r - 캐리지리턴 커서를 맨 앞으로 이동 ( Carriage Return )
  • \t - 탭, Tab
  • \Z - 아스키코드 Control + Z
  • \\ - 백슬레시
  • \% - %
  • \_ - 빈칸 한개

사용방법

위에서 언급된 문자들은 백슬레시를 추가하여 문자로써 사용할 수 있다.

특수문자 앞에 단순히 백슬레시를 붙여주면 된다.

사용법은 다음과 같다.

SELECT '\특수문자'
;

전체 코드 및 결과

이제 위에서 언급된 모든 특수문자에 대하여 SELECT 쿼리를 만들어 본다.

어떤 효과가 있는지 확인하기 위해 특수문자 사이에 단어 하나씩 추가하였다.

mysql 툴은 HeidiSQL 을 사용했기 때문에 결과화면은 다른 SQL 툴과 다르게 출력될 수 있다.

여기서는 만들어진 쿼리는 정상적으로 동작하는 것을 볼 수 있다.

SELECT '문\0자','문\'자', '문\"자'
       , '문\b자', '문\n자', '문\r자'
       , '문\t자', '문\Z자', '문\\자'
       , '문\%자', '문\ 자'
;

결과화면을 확인해 보자.

가시적으로는 어떤 차이가 있는지 구분할 수 없지만, 결과 이미지와 위의 쿼리문을 같이 보면 알 수 있다.

조금 난해한 부분들도 있을 것이다.

하지만, 이 중에서 가장 많이 사용되는 것은 아무래도 따옴표 처리일 것이다.

따옴표를 mysql 에서 쿼리문으로 작성할 때 역슬레시 하나 붙여주면 된다.

반응형

댓글