MySQL에서 데이터 행에 포함된 줄 바꿈 문자(\n)를 제거하려면 TRIM() 함수를 사용할 수 있습니다. 이 글에서는 실제 예제를 통해 줄 바꿈 문자를 제거하는 과정을 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 만들어 보겠습니다. 테이블 생성에는 CREATE 명령어를 사용합니다.
mysql> create table tblDemotrail - > ( - > id int, - > name varchar(100) - > ); Query OK, 0 rows affected (0.57 sec)
2. 샘플 데이터 삽입하기
이제 줄 바꿈 문자가 포함된 레코드를 몇 개 삽입해 보겠습니다. 일부 데이터에는 의도적으로 앞이나 뒤에 \n 문자를 넣었습니다.
mysql> insert into tblDemotrail values(1,'John '); Query OK, 1 row affected (0.15 sec) mysql> insert into tblDemotrail values(2,' Carol'); Query OK, 1 row affected (0.32 sec) mysql> insert into tblDemotrail values(3,' Sam '); Query OK, 1 row affected (0.17 sec) mysql> insert into tblDemotrail values(4,' Tom\n '); Query OK, 1 row affected (0.18 sec) mysql> insert into tblDemotrail values(5,' \nTim '); Query OK, 1 row affected (0.12 sec)
3. 저장된 데이터 확인하기
다음 쿼리로 전체 레코드를 조회합니다.
mysql> select *from tblDemotrail;
아래는 실행 결과입니다. 레코드를 삽입할 때 줄 바꿈 문자를 함께 저장했기 때문에 출력 결과가 일반적인 형태와 다르게 보입니다.
+------+------------------+ | id | name | +------+------------------+ | 1 |John | | 2 | Carol | | 3 | Sam | | 4 | Tom | | 5 |Tim | +------+------------------+ 5 rows in set (0.00 sec)
4. TRIM() 함수로 줄 바꿈 문자 제거하기
줄 바꿈 문자를 제거하려면 아래와 같은 UPDATE 쿼리를 사용합니다. TRIM(TRAILING '\n' FROM name) 구문은 name 컬럼 값의 끝부분에 있는 줄 바꿈 문자를 잘라냅니다.
mysql> update tblDemotrail SET name = TRIM(TRAILING '\n' FROM name); Query OK, 0 rows affected (0.00 sec) Rows matched: 5 Changed: 0 Warnings: 0
추가 팁: 앞뒤 모든 공백과 줄 바꿈 제거하기
문자열 앞과 뒤의 줄 바꿈 문자를 모두 제거하고 싶다면 방향을 지정하지 않고 TRIM() 함수를 사용하거나, BOTH 옵션을 활용할 수 있습니다.
mysql> update tblDemotrail SET name = TRIM(BOTH '\n' FROM name);
또한 REPLACE() 함수를 활용하면 문자열 중간에 있는 줄 바꿈 문자까지 한 번에 제거할 수 있습니다.
mysql> update tblDemotrail SET name = REPLACE(name, '\n', '');
이처럼 TRIM()과 REPLACE() 함수를 상황에 맞게 활용하면 MySQL 데이터에 포함된 불필요한 줄 바꿈 문자를 손쉽게 정리할 수 있습니다.